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