LocalDate和LocalTime是Java 8引入的不带时区的日期时间类,分别表示年-月-日和时:分:秒,如LocalDate.now()获取当前日期,LocalTime.of(14,30)创建指定时间,二者均不可变且线程安全,常用操作包括plus/minus系列方法及字段提取,结合使用可构建LocalDateTime。

Java 8 引入了新的日期时间 API,位于 java.time 包中,其中 LocalDate 和 LocalTime 是两个常用类,分别用于表示不带时区的日期和时间。它们是不可变的、线程安全的对象,使用起来简单直观。
LocalDate 表示一个年-月-日的日期,比如 2025-04-05,不包含时间和时区信息。
获取当前日期:LocalDate now = LocalDate.now(); // 获取系统默认时区的当前日期LocalDate date = LocalDate.of(2025, 4, 5); // 年、月、日Month 枚举:LocalDate.of(2025, Month.APRIL, 5)
date.plusDays(3) // 增加3天,返回新对象date.minusMonths(1) // 减少1个月date.getYear()、date.getMonth()、date.getDayOfMonth() // 获取字段值date.getDayOfWeek() // 返回星期几(如 MONDAY)date.isLeapYear() // 判断是否为闰年LocalTime 表示一个时间,如 13:45:30,不包含日期和时区。
获取当前时间:LocalTime now = LocalTime.now(); // 系统当前时间LocalTime time = LocalTime.of(14, 30); // 14:30LocalTime.of(14, 30, 45) // 14:30:45LocalTime.of(14, 30, 45, 100_000_000) // 包含纳秒time.plusHours(2) // 增加2小时time.minusMinutes(15) // 减去15分钟time.getHour()、time.getMinute()、time.getSecond() // 获取时间字段time.withSecond(0) // 设置秒为0,返回新实例如果需要同时处理日期和时间,可以使用 LocalDateTime,它是前两者的组合。
立即学习“Java免费学习笔记(深入)”;
LocalDateTime dateTime = LocalDateTime.of(date, time);LocalDateTime.now() // 直接获取当前日期时间LocalDate 或 LocalTime 扩展:date.atTime(10, 30) 或 time.atDate(date)
基本上就这些。LocalDate 和 LocalTime 设计简洁,适合大多数不需要时区的场景,比如记录生日、营业时间等。操作都返回新对象,不会修改原值,使用时注意接收返回值。
以上就是在Java中如何使用LocalDate和LocalTime的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号