ホームページ >データベース >mysql チュートリアル >JavaでエポックタイムをMySQLタイムスタンプに変換するにはどうすればよいですか?
Java でのエポックタイムから MySQL タイムスタンプへの変換
Java および MySQL で時間値を操作する場合、エポックタイムを変換して、 Unix エポックからの秒数を、MySQL タイムスタンプ形式に変換することができます。
この変換を実現するには、Java 8 java.time API を使用する一般的なアプローチが必要です。この API は、さまざまな形式間の変換など、日付と時刻を処理するための最新のクラスとインターフェイスのセットを提供します。
エポック時刻から MySQL タイムスタンプへの変換
次のスニペットは、次のことを示しています。 java.time を使用してエポック時間を MySQL タイムスタンプに変換する方法API:
import java.time.LocalDateTime; // Convert epoch time in milliseconds to seconds long epochSeconds = System.currentTimeMillis() / 1000; // Create a LocalDateTime object from the epoch seconds LocalDateTime timestamp = LocalDateTime.ofEpochSecond(epochSeconds, 0, java.time.ZoneOffset.UTC); // Format the LocalDateTime object as a MySQL timestamp string String mySQLTimestamp = timestamp.toString();
結果の mySQLTimestamp 文字列は、MySQL タイムスタンプ データ型と互換性のある YYYY-MM-DD HH:MM:SS 形式になります。
代替アプローチ: SimpleDateFormat
一方、java.time API は一般に次の用途に推奨されます。日付と時刻を処理する、従来の SimpleDateFormat クラスを使用してエポック時間を変換する別のアプローチ:
import java.text.SimpleDateFormat; import java.util.Date; // Convert epoch time in milliseconds to a Date object Date date = new Date(epochSeconds * 1000); // Create a SimpleDateFormat to format the Date as a MySQL timestamp string SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-DD HH:MM:SS"); // Format the Date object as a MySQL timestamp string String mySQLTimestamp = sdf.format(date);
このアプローチは、潜在的なスレッドセーフの問題と、異なるバージョン間での不一致のため、java.time API に比べてあまり推奨されません。 JDK の
以上がJavaでエポックタイムをMySQLタイムスタンプに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。