那些年我们忽略的时间格式大小写

java时间格式化中的y和Y

 

java常见的时间格式化方法也就那几种。每一个字母都代表特定的含义。但是有时候也会遇到,很多不长眼的“坑”。

在Java中,我们大多数情况下格式日期都是用的SimpleDateFormat,比如说把一个日期格式成java#"yyyy-MM-dd"的形式。

我们要注意的是,对于年份来说,大写的Y和小写的y其意义是不同的。

yyyy:年
MM:月
dd:日
hh:1~12小时制(1-12)
HH:24小时制(0-23)
mm:分
ss:秒
S:毫秒
E:星期几
D:一年中的第几天
F:一月中的第几个星期(会把这个月总共过的天数除以7)
w:一年中的第几个星期
W:一月中的第几星期(会根据实际情况来算)
a:上下午标识
k:和HH差不多,表示一天24小时制(1-24)。
K:和hh差不多,表示一天12小时制(0-11)。
z:表示时区 

但素,就是有的哥们写代码的时候不睁眼,活生生的小写给变成大写。那么意思就完全不一样了。

      DateTimeFormatter dft = DateTimeFormatter.ofPattern("yyyyMMdd");
        String dateStr = "20310101";
        LocalDate date1 = LocalDate.parse(dateStr.trim(),dft);
        LocalDate date = date1.plusYears(5);
        System.out.println("-------"+date);
        DateTimeFormatter dateformatter = DateTimeFormatter.ofPattern("yyyy.MM.dd");
        System.out.println("yyyy---"+dateformatter.format(date));
        DateTimeFormatter dateformatter1 = DateTimeFormatter.ofPattern("YYYY.MM.dd");
        System.out.println("YYYY"+dateformatter1.format(date));
 

运行的结果为:

yyyy--2035.12.31
YYYY2036.12.31
 

  而且

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值