java怎么处理日期和时间 操作LocalDate与LocalDateTime的常用方法

LocalDate和LocalDateTime是Java 8引入的不可变、线程安全的日期时间类,分别表示无时区的日期和日期时间,支持创建、解析、加减、格式化及与其他类型互转操作,结合DateTimeFormatter可处理自定义格式,推荐用于新项目。

java怎么处理日期和时间 操作localdate与localdatetime的常用方法

Java 8 引入了新的日期时间 API,位于 java.time 包中,其中 LocalDateLocalDateTime 是最常用的类。它们是不可变的、线程安全的,使用起来更加直观和方便。

LocalDate 的常用操作

LocalDate 表示一个不带时区的日期,比如 2025-04-05。

• 创建当前日期:

LocalDate today = LocalDate.now();

• 指定年月日创建:

LocalDate date = LocalDate.of(2025, 4, 5);

立即学习“Java免费学习笔记(深入)”;

• 解析字符串日期:

LocalDate parsed = LocalDate.parse(“2025-04-05”);

• 获取年、月、日:

int year = date.getYear();

int month = date.getMonthValue();

int day = date.getDayOfMonth();

• 日期加减操作:

LocalDate tomorrow = today.plusDays(1);

LocalDate nextMonth = today.plusMonths(1);

LocalDate lastYear = today.minusYears(1);

• 判断日期前后:

boolean isAfter = today.isAfter(parsed);

boolean isBefore = today.isBefore(parsed);

LocalDateTime 的常用操作

LocalDateTime 表示不带时区的日期和时间,精确到纳秒,比如 2025-04-05T10:30:45。

• 创建当前日期时间:

LocalDateTime now = LocalDateTime.now();

• 指定年月日时分秒创建:

LocalDateTime dt = LocalDateTime.of(2025, 4, 5, 10, 30, 0);

Shrink.media Shrink.media

Shrink.media是当今市场上最快、最直观、最智能的图像文件缩减工具

Shrink.media 123 查看详情 Shrink.media • 从 LocalDate 转换:

LocalDateTime fromLocalDate = today.atTime(12, 0);

• 解析字符串(ISO 格式):

LocalDateTime parsedDT = LocalDateTime.parse(“2025-04-05T14:20:30”);

• 提取日期或时间部分:

LocalDate datePart = now.toLocalDate();

LocalTime timePart = now.toLocalTime();

• 时间加减操作:

LocalDateTime later = now.plusHours(3);

LocalDateTime earlier = now.minusMinutes(15);

LocalDateTime nextWeek = now.plusWeeks(1);

格式化与解析自定义格式

默认的 parse 和 toString 使用 ISO 标准格式。如果需要处理如 “2025/04/05” 或 “2025-04-05 10:30” 这样的格式,需使用 DateTimeFormatter

• 定义格式并解析:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern(“yyyy/MM/dd”);

LocalDate customDate = LocalDate.parse(“2025/04/05”, formatter);

格式化输出

String formatted = now.format(DateTimeFormatter.ofPattern(“yyyy-MM-dd HH:mm”)); // 输出:2025-04-05 10:30

与其他类型互转

• LocalDateTime 转 Instant(需指定时区):

Instant instant = now.atZone(ZoneId.systemDefault()).toInstant();

• Instant 转 LocalDateTime:

LocalDateTime fromInstant = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());

• 与旧版 Date 互转:

Date date = Date.from(instant);

LocalDateTime back = instant.atZone(ZoneId.systemDefault()).toLocalDateTime();

基本上就这些。LocalDate 和 LocalDateTime 简洁易用,配合 DateTimeFormatter 可满足大多数场景需求,推荐在新项目中优先使用。

以上就是java怎么处理日期和时间 操作LocalDate与LocalDateTime的常用方法的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/969748.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月1日 19:38:27
下一篇 2025年12月1日 19:39:41

相关推荐

发表回复

登录后才能评论
关注微信