首頁 > Java > java教程 > 如何在 Java 中將 Epoch 時間轉換為 MySQL 時間戳記?

如何在 Java 中將 Epoch 時間轉換為 MySQL 時間戳記?

Mary-Kate Olsen
發布: 2024-12-11 13:44:16
原創
265 人瀏覽過

How to Convert Epoch Time to MySQL Timestamp in Java?

在Java 中將Epoch 轉換為MySQL 時間戳

Java 程式設計師經常遇到需要轉換EpUnix 以來的秒數紀元,轉換為MySQL 時間戳記格式。以下是如何使用 Java 的現代日期時間 API java.time 來實作此轉換。

java.time

隨 Java SE 8 引入,java.time 提供了一個全面且防錯的日期時間 API。它將ANSI SQL 類型對應到java.time 類型,如下所示:

ANSI SQL Java SE 8
DATE LocalDate
TIME LocalTime
TIMESTAMP LocalDateTime
TIME WITH TIMEZONE OffsetTime
TIMESTAMP WITH TIMEZONE OffsetDateTime

Converting Epoch to MySQL Timestamp

使用java.time,可以輕鬆轉換MySQL時間戳記的紀元時間:

// Get current epoch time in milliseconds
long epochNow = System.currentTimeMillis();

// Create a LocalDateTime object from the epoch time
LocalDateTime timestampNow = Instant.ofEpochMilli(epochNow).atZone(ZoneId.systemDefault()).toLocalDateTime();

// Convert to MySQL timestamp format using DateTimeFormatter
String mySQLtimestamp = timestampNow.format(DateTimeFormatter.ofPattern("yyyy-MM-dd:HH:mm:ss"));
登入後複製

範例用法

在您提供的程式碼片段中,您有epochNow 表示當前時間,date7daysAgo 表示過去7 天的時間戳。您可以使用上面的程式碼輕鬆地將這兩個時間戳記轉換為 MySQL 格式並將它們儲存在 mySQLtimestamp 中。

String mySQLtimestampNow = LocalDateTime.ofInstant(Instant.ofEpochMilli(epochNow), ZoneId.systemDefault())
        .format(DateTimeFormatter.ofPattern("yyyy-MM-dd:HH:mm:ss"));

String mySQLtimestamp7DaysAgo = LocalDateTime.ofInstant(Instant.ofEpochMilli(date7daysAgo), ZoneId.systemDefault())
        .format(DateTimeFormatter.ofPattern("yyyy-MM-dd:HH:mm:ss"));
登入後複製

以上是如何在 Java 中將 Epoch 時間轉換為 MySQL 時間戳記?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板