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

Barbara Streisand
リリース: 2024-11-16 04:22:03
オリジナル
276 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート