📅  最后修改于: 2023-12-03 14:42:19.105000             🧑  作者: Mango
Java 是一个跨平台、面向对象、可移植性强的编程语言。在 Java 中,日期和时间处理非常简单,Java 提供了 java.time 包来处理日期和时间。
java.time 包是 Java 8 中新增的日期和时间 API,用于替代已经过时的 java.util.Date 和 java.util.Calendar 类。java.time 包提供了以下主要类:
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class LocalDateTimeExample {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formatDateTime = now.format(formatter);
System.out.println("现在的时间是:" + formatDateTime);
}
}
import java.time.LocalDate;
import java.time.Period;
public class DaysBetweenTwoDatesExample {
public static void main(String[] args) {
LocalDate date1 = LocalDate.parse("2022-01-01");
LocalDate date2 = LocalDate.parse("2022-02-01");
Period period = Period.between(date1, date2);
System.out.println("两个日期之间相差的天数:" + period.getDays());
}
}
import java.time.Instant;
public class CurrentTimeStampExample {
public static void main(String[] args) {
Instant currentTimestamp = Instant.now();
System.out.println("当前时间戳:" + currentTimestamp.toEpochMilli());
}
}
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
public class ZonedDateTimeExample {
public static void main(String[] args) {
ZoneId zoneId = ZoneId.of("Asia/Shanghai");
ZonedDateTime zonedDateTime = ZonedDateTime.now(zoneId);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formatDateTime = zonedDateTime.format(formatter);
System.out.println("上海的当前时间是:" + formatDateTime);
}
}
java.time 包提供了很多方便的类和方法来处理日期和时间,防止了传统的 java.util.Date 和 java.util.Calendar 类的一些缺陷。在实际开发中,我们可以根据需要选择合适的类和方法来处理时间相关的问题。