ホームページ  >  記事  >  Java  >  JavaでタイムスタンプをローカルタイムゾーンからGMTに変換するにはどうすればよいですか?

JavaでタイムスタンプをローカルタイムゾーンからGMTに変換するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-16 04:22:03273ブラウズ

How to Convert a Timestamp from Local Time Zone to GMT in Java?

Java のタイムスタンプ計算でタイム ゾーンを処理する方法

Java アプリケーションでタイムスタンプを使用する場合は、タイム ゾーンを考慮することが重要です。正確な計算とデータ処理を保証します。この特定のシナリオでは、ユーザーはタイムスタンプをローカル タイム ゾーン (EST) で入力できますが、サービスはタイムスタンプが GMT であることを想定しています。

ユーザーのローカル タイム ゾーンから GMT にタイムスタンプを変換するには、次のようにします。時間オフセットの違いを考慮する必要があります。 Java の Calendar クラスを使用してこの課題を克服する方法の例を次に示します。

public static Calendar convertToGmt(Calendar cal) {

    Date date = cal.getTime();
    TimeZone tz = cal.getTimeZone();
    log.debug("input calendar has date [" + date + "]");

    // Convert to milliseconds since epoch in GMT
    long msFromEpochGmt = date.getTime();

    // Get offset from UTC in milliseconds
    int offsetFromUTC = tz.getOffset(msFromEpochGmt);
    log.debug("offset is " + offsetFromUTC);

    // Create GMT calendar and adjust date based on offset
    Calendar gmtCal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
    gmtCal.setTime(date);
    gmtCal.add(Calendar.MILLISECOND, offsetFromUTC);
    log.debug("Created GMT cal with date [" + gmtCal.getTime() + "]");

    return gmtCal;
}

このメソッドを利用すると、ユーザーの場所や時間に関係なく、タイムスタンプを GMT に変換して、サービスの期待と確実に一致させることができます。ゾーン設定。

以上がJavaでタイムスタンプをローカルタイムゾーンからGMTに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。