在Java中,可以使用java.text.SimpleDateFormat類來實現時間戳與日期之間的轉換。以下是一個簡單的示例,展示了如何使用SimpleDateFormat將時間戳轉換為日期字符串,以及如何將日期字符串轉換為時間戳。
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TimestampConverter {
public static void main(String[] args) {
// 時間戳轉換為日期字符串
long timestamp = 1633094400L; // 示例時間戳,單位為秒
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
String dateString = sdf.format(new Date(timestamp * 1000)); // 注意這里要將時間戳乘以1000,轉換為毫秒
System.out.println("日期字符串: " + dateString);
} catch (ParseException e) {
e.printStackTrace();
}
// 日期字符串轉換為時間戳
String dateString = "2021-10-01 00:00:00"; // 示例日期字符串
sdf.setTimeZone(java.util.TimeZone.getTimeZone("GMT")); // 設置時區,這里設置為GMT
try {
Date date = sdf.parse(dateString);
long convertedTimestamp = date.getTime() / 1000; // 注意這里要將毫秒轉換為秒
System.out.println("時間戳: " + convertedTimestamp);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
在這個示例中,我們首先將一個時間戳(以秒為單位)轉換為日期字符串,然后將一個日期字符串轉換回時間戳。注意在轉換過程中,我們需要將時間戳乘以1000并轉換為毫秒,以便與Date類的構造函數兼容。同樣,在將日期字符串轉換回時間戳時,我們需要將毫秒轉換為秒。