java.util.Date类 与 java.time.LocalDateTime类
jdk 1.8起官方推荐使用 java.time.LocalDateTime
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
// String: 2023/12/26 14:30:26
String time = "2023/12/26 14:30:26";
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
LocalDateTime localDateTime = LocalDateTime.parse(time, inputFormatter);
// LocalDateTime: 2023-12-26T14:30:26
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
// LocalDateTime: 2023-12-26T14:30:26
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String outputTime = localDateTime.format(outputFormatter);
// String: 2023-12-26 14:26:30
1. 不可变性:
2. 精度不同:
3. 时区处理:
ZonedDateTime zonedDateTime = ZonedDateTime.now(); // 当前日期时间和时区
OffsetDateTime: 是带有偏移量的日期时间,它表示相对于协调世界时(UTC)的偏移。OffsetDateTime offsetDateTime = OffsetDateTime.now(); // 当前日期时间和偏移
4. 设计哲学