java.text.DateFormat 是 Java 標準函式庫中用於日期時間格式化的抽象類別,提供多種預設風格與語系敏感的格式化功能。本文透過完整程式碼示範如何使用 DateFormat 輸出不同風格的日期字串。
import java.util.Date;
import java.text.DateFormat;
public class FormatDate {
public static void main(String[] args) {
Date now = new Date();
System.out.println("預設 Date.toString():" + now);
System.out.println("============================================");
// 預設風格(等同 MEDIUM)
String s = DateFormat.getDateInstance().format(now);
System.out.println("DEFAULT:" + s); // 例:2005-4-16
s = DateFormat.getDateInstance(DateFormat.DEFAULT).format(now);
System.out.println("DEFAULT 明確指定:" + s);
// 完整風格:包含星期、月份名稱
s = DateFormat.getDateInstance(DateFormat.FULL).format(now);
System.out.println("FULL:" + s); // 例:2005年4月16日 星期六
// 中等風格
s = DateFormat.getDateInstance(DateFormat.MEDIUM).format(now);
System.out.println("MEDIUM:" + s); // 例:2005-4-16
// 短風格:兩位數年份
s = DateFormat.getDateInstance(DateFormat.SHORT).format(now);
System.out.println("SHORT:" + s); // 例:05-4-16
System.out.println("============================================");
}
}
| 常數 | 數值 | 輸出範例 (Locale.TRADITIONAL_CHINESE) |
|---|---|---|
| FULL | 0 | 2024年12月25日 星期三 |
| LONG | 1 | 2024年12月25日 |
| MEDIUM / DEFAULT | 2 | 2024/12/25 |
| SHORT | 3 | 24/12/25 |
DateFormat.getDateTimeInstance() 可同時格式化日期與時間。Locale 參數可產生特定語系格式,例如 DateFormat.getDateInstance(DateFormat.FULL, Locale.US)。yyyy-MM-dd HH:mm:ss),請改用 SimpleDateFormat。DateFormat 提供快速、語系感知的日期格式化能力,適合大多數標準輸出需求。掌握四大風格常數,即可靈活應對各類報表、日誌與介面顯示需求。