在Java SDK 8中,日期和时间API是通过java.time
包提供的
- LocalDate:表示日期(年、月、日),不包含时间信息。
import java.time.LocalDate; public class Main { public static void main(String[] args) { LocalDate currentDate = LocalDate.now(); System.out.println("当前日期: " + currentDate); LocalDate birthDate = LocalDate.of(2000, 1, 1); System.out.println("出生日期: " + birthDate); } }
- LocalTime:表示时间(小时、分钟、秒、纳秒),不包含日期信息。
import java.time.LocalTime; public class Main { public static void main(String[] args) { LocalTime currentTime = LocalTime.now(); System.out.println("当前时间: " + currentTime); LocalTime specificTime = LocalTime.of(14, 30, 0); System.out.println("特定时间: " + specificTime); } }
- LocalDateTime:表示日期和时间,结合了
LocalDate
和LocalTime
。
import java.time.LocalDateTime; public class Main { public static void main(String[] args) { LocalDateTime currentDateTime = LocalDateTime.now(); System.out.println("当前日期和时间: " + currentDateTime); LocalDateTime specificDateTime = LocalDateTime.of(2025, 12, 31, 23, 59, 59); System.out.println("特定日期和时间: " + specificDateTime); } }
- ZonedDateTime:表示带有时区信息的日期和时间。
import java.time.ZonedDateTime; public class Main { public static void main(String[] args) { ZonedDateTime currentZonedDateTime = ZonedDateTime.now(); System.out.println("当前带时区的日期和时间: " + currentZonedDateTime); } }
- Period:表示一段时间,主要用于以年、月、日为单位的日期计算。
import java.time.LocalDate; import java.time.Period; public class Main { public static void main(String[] args) { LocalDate currentDate = LocalDate.now(); LocalDate birthDate = LocalDate.of(2000, 1, 1); Period age = Period.between(birthDate, currentDate); System.out.println("年龄: " + age.getYears() + " 岁"); } }
- Duration:表示一段时间,主要用于以秒、毫秒为单位的时间计算。
import java.time.LocalTime; import java.time.Duration; public class Main { public static void main(String[] args) { LocalTime startTime = LocalTime.now(); // 模拟一些操作 try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } LocalTime endTime = LocalTime.now(); Duration duration = Duration.between(startTime, endTime); System.out.println("经过的时间: " + duration.getSeconds() + " 秒"); } }
这些类和方法可以帮助你根据需求处理日期和时间。更多详细信息和用法,请参阅官方文档。