1. ホーム
  2. java

[解決済み] Javaでミリ秒単位のタイムスタンプを文字列形式の時間に変換する

2022-05-26 09:37:24

質問

長い値 ( 1970年1月1日から経過したミリ秒の数、すなわちエポック ) を時刻のフォーマットに変換しようとしています。 h:m:s:ms .

タイムスタンプとして使用する長い値は、フィールド timestamp フィールドから取得します。

今のところ、以下のように試してみましたが、失敗しています。

logEvent.timeStamp/ (1000*60*60)
TimeUnit.MILLISECONDS.toMinutes(logEvent.timeStamp)

のように表示されますが、正しくない値が表示されます。

1289375173771 for logEvent.timeStamp
358159  for logEvent.timeStamp/ (1000*60*60) 
21489586 for TimeUnit.MILLISECONDS.toMinutes(logEvent.timeStamp)

どうすればいいのでしょうか?

どのように解決するのですか?

これを試してみてください。

Date date = new Date(logEvent.timeSTamp);
DateFormat formatter = new SimpleDateFormat("HH:mm:ss.SSS");
formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
String dateFormatted = formatter.format(date);

参照 SimpleDateFormat を参照してください。

参照 実行可能な例 1200msの入力を使用した