JAVA日期格式的各种坑

java的日期格式是我们在开发中Very常用,几乎到了离不开的程度。但是Javad的日期格式也为我们留下了各种坑。

坑一:YYYY和yyyy

我们开发人员平时写年月日的时候 总不清楚YYYY和yyyy的区别,经常混用。:

有这个问题,比如2019年12月31日

打印结果是:

2019-12-31的YYYY-MM-dd格式化Date后居然是2018年的12月30日?

这个暂且不论,看下一段代码,此代码借鉴了一段,稍作修改。

结果呢:

你是否心中有很多❓

1、"YYYY format" 是 "ISO week numbering system" 是按照周来计算时间,今天是12月29号周天,是2020年的第一周所以年份开始就是进入了2020年了

2、"yyyy format" 是 “Gregorian Calendar” 是按天数作为一年的计算单位

坑二:DD和dd

这个打印出来的是什么, 预期打印的应该是2020-03-01吧

结果呢?

大跌眼镜啊! 原来DD是在本年中的第几天。。。。。

其他不算坑的:

结果为

 HH是24小时制,hh是12小时制。

小技巧:如何精确到微秒:

SimpleDateFormat formatter = new SimpleDateFormat("mm分ss.ss秒");   
String  formatDate = formatter.format(new Date());
比如:
mm分ss.ss秒 10分49.04秒
mm分ss.sss秒 10分49.049秒

最后贴一段JAVA8官方的介绍

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值