RT:
临近元旦了,写的代码突然出现了bug,比如获取当前年份的代码片段
SimpleDateFormat sdf = new SimpleDateFormat("YYYY");
sdf.format(new Date());
唉,发现年份居然是2022年(当前年份是2021),觉得很奇怪就去查了相关资料。原来这些大小写也是有奖金的。平时都没注意这些。
例如:
当前时间是2021年12月27日 14:02:36。这种时间格式正确的表达方式是yyyy-MM-dd HH:mm:ss
如果年份大写:YYYY表示的是当前周所在的年份,当前周指的是周日——周六,这算一周,如果本周有某天跨年了那么就计入下一年,因为今天12月27号,这周六是22年元旦,所以YYYY表示的结果就是2022年。。。
月份:MM,这个不需要多说了,几月就是几月。
分钟:mm,也不多说。
天:dd——对应的某月某日,比如12月27号,dd表示的就是27;
DD——对应某年的多少天,比如12月27号,这天是2021年的第361天。
小时:hh——12小时制,比如当前时间下午两点就是02;
HH——24小时制,下午两点就是14。
秒:ss表示。
毫秒:SS——这里的毫秒指的是秒后面的毫秒数,不包括秒,比如现在是14点02分36秒零250毫秒,SS表示的就是250。