实习踩坑之路:Date、LocalDate和LocalDateTime的区别

首先说业务需求,我的业务是从数据库查询创建、修改、添加时间的等字段的信息返回给一个临时的Bean对象,这个Bean对象一开始我设计的字段是Date类型,debug的时候发现这个Bean时间字段显示不友好,为此有了下面的使用

Date

Date如果不格式化,打印出的日期可读性差

Tue Sep 10 09:34:04 CST 2019
使用SimpleDateFormat对时间进行格式化,但SimpleDateFormat是线程不安全的,具体可看源代码

    private StringBuffer format(Date date, StringBuffer toAppendTo,
                                FieldDelegate delegate) {
   
        // Convert input date to time field l
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是LocalDateLocalDateTime的方法: 1. LocalDate的方法: - 获取当前日期:`LocalDate.now()` - 根据年月日创建日期:`LocalDate.of(year, month, day)` - 获取年份:`localDate.getYear()` - 获取月份:`localDate.getMonthValue()` - 获取日期:`localDate.getDayOfMonth()` - 获取星期几:`localDate.getDayOfWeek()` - 获取当月最后一天:`localDate.with(TemporalAdjusters.lastDayOfMonth())` - 判断是否为闰年:`localDate.isLeapYear()` 2. LocalDateTime的方法: - 获取当前日期时间:`LocalDateTime.now()` - 根据年月日时分秒创建日期时间:`LocalDateTime.of(year, month, day, hour, minute, second)` - 获取年份:`localDateTime.getYear()` - 获取月份:`localDateTime.getMonthValue()` - 获取日期:`localDateTime.getDayOfMonth()` - 获取星期几:`localDateTime.getDayOfWeek()` - 获取小时:`localDateTime.getHour()` - 获取分钟:`localDateTime.getMinute()` - 获取秒数:`localDateTime.getSecond()` - 获取毫秒数:`localDateTime.getNano()` - 获取当月最后一天:`localDateTime.with(TemporalAdjusters.lastDayOfMonth())` - 判断是否为闰年:`localDateTime.toLocalDate().isLeapYear()` ```java // LocalDate的例子 LocalDate localDate = LocalDate.now(); System.out.println("当前日期:" + localDate); // 输出:当前日期:2021-10-20 LocalDate localDate2 = LocalDate.of(2021, 10, 1); System.out.println("年份:" + localDate2.getYear()); // 输出:年份:2021 System.out.println("月份:" + localDate2.getMonthValue()); // 输出:月份:10 System.out.println("日期:" + localDate2.getDayOfMonth()); // 输出:日期:1 System.out.println("星期几:" + localDate2.getDayOfWeek()); // 输出:星期几:FRIDAY // LocalDateTime的例子 LocalDateTime localDateTime = LocalDateTime.now(); System.out.println("当前日期时间:" + localDateTime); // 输出:当前日期时间:2021-10-20T16:08:23.123 LocalDateTime localDateTime2 = LocalDateTime.of(2021, 10, 1, 12, 30, 0); System.out.println("年份:" + localDateTime2.getYear()); // 输出:年份:2021 System.out.println("月份:" + localDateTime2.getMonthValue()); // 输出:月份:10 System.out.println("日期:" + localDateTime2.getDayOfMonth()); // 输出:日期:1 System.out.println("星期几:" + localDateTime2.getDayOfWeek()); // 输出:星期几:FRIDAY System.out.println("小时:" + localDateTime2.getHour()); // 输出:小时:12 System.out.println("分钟:" + localDateTime2.getMinute()); // 输出:分钟:30 System.out.println("秒数:" + localDateTime2.getSecond()); // 输出:秒数:0 System.out.println("毫秒数:" + localDateTime2.getNano()); // 输出:毫秒数:0 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会写代码的花城

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值