首頁  >  文章  >  Java  >  如何在 Java 中將毫秒時間戳轉換為人類可讀的時間字串?

如何在 Java 中將毫秒時間戳轉換為人類可讀的時間字串?

Patricia Arquette
Patricia Arquette原創
2024-11-11 22:59:02271瀏覽

How to Convert Millisecond Timestamps to Human-Readable Time Strings in Java?

在Java 中將毫秒時間戳轉換為人類可讀的時間字串

在處理帶有時間戳的資料時,經常需要轉換長整數,表示從將紀元(1970 年1 月 1日)轉換為更具可讀性和資訊量的格式,例如“h:m:s:ms”(小時:分鐘:秒:毫秒)。

在 log4j 的上下文中,可以透過 logEvent.timeStamp 欄位從日誌記錄事件中檢索時間戳記。然而,將此時間戳轉換為格式化時間可能具有挑戰性。

不正確的方法:

嘗試直接使用除以秒數等操作來轉換毫秒一個小時或使用 TimeUnit.MILLISECONDS.toMinutes()方法將產生不正確的結果,因為轉換過程涉及的不僅僅是簡單的

正確解決方案:

要準確地將毫秒時間戳轉換為格式化時間字串,我們可以利用Java 內建的日期和時間格式化功能:

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

此範例示範了轉換過程:

  • new Date() 從毫秒值建立一個 Date 物件。
  • SimpleDateFormat 建立具有特定日期模式的格式化程式(「HH:mm:ss.SSS」表示小時、分鐘、秒和毫秒)。
  • 格式化程式的時區設定為UTC(協調世界時)以確保一致格式化。
  • formatter.format(date) 以字串形式傳回格式化時間。

其他格式選項:

Java API SimpleDateFormat 提供了多種日期模式來支援不同的格式化樣式。以下是一些常見選項:

Pattern Output
"h:m:s:ms" 03:34:56:123
"EEE, MMM d, yyyy hh:mm:ss a" Wed, Mar 17, 2023 03:34:56 PM
"yyyy-MM-dd HH:mm:ss.SSS" 2023-03-17 15:34:56.123

以上是如何在 Java 中將毫秒時間戳轉換為人類可讀的時間字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn