Date/Time 入门

使用线程安全、不可变的 DateTimeFormatter 格式化日期。

✕ Pre-Java 8
// Not thread-safe!
SimpleDateFormat sdf =
    new SimpleDateFormat("yyyy-MM-dd");
String formatted = sdf.format(date);
// Must synchronize for concurrent use
✓ Java 8+
DateTimeFormatter fmt =
    DateTimeFormatter.ofPattern(
        "uuuu-MM-dd");
String formatted =
    LocalDate.now().format(fmt);
// Thread-safe, immutable
发现此代码有问题? 告诉我们。
🛡️

线程安全

跨线程共享格式化器,无需同步。

🔒

不可变

无并发 bug——格式化器不能被修改。

📐

更丰富的 API

支持所有 java.time 类型,具有更好的本地化支持。

旧方式
SimpleDateFormat
现代方式
DateTimeFormatter
自 JDK
8
难度
入门
日期格式化
可用

自 JDK 8 起广泛可用(2014 年 3 月)

DateTimeFormatter 是不可变且线程安全的,与 SimpleDateFormat 不同。它可以作为静态常量安全共享,支持 java.time 类型并提供更丰富的格式化选项。

分享 𝕏 🦋 in