核心代碼
String beginDate = "1328007600000"; // 毫秒級時間戳字符串
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String sd = sdf.format(new Date(Long.parseLong(beginDate)));
System.out.println(sd); // 輸出:2012-01-31
關鍵點說明
Long.parseLong() 將字符串轉為 long 型毫秒值。
new Date(long) 構造函數接收毫秒數創建日期對象。
SimpleDateFormat 模式字母含義:y年 M月 d日 H時(24制) m分 s秒 S毫秒。
- 線程安全提示:
SimpleDateFormat 非線程安全,多線程環境建議使用 ThreadLocal 或 Java 8 DateTimeFormatter。
擴展:常用格式模板
| 模式 | 輸出示例 |
| yyyy-MM-dd | 2024-05-20 |
| yyyy-MM-dd HH:mm:ss | 2024-05-20 14:30:05 |
| yyyy/MM/dd HH:mm | 2024/05/20 14:30 |
| yyyy年MM月dd日 | 2024年05月20日 |