jdk1.8 java.text.SimpleDateFormat占位符问题

jdk1.8 java.text.SimpleDateFormat:大小写问题

年底遇到的问题现象:
2018-12-30,31,两天,如果格式化时间使用YYYY-MM 大写的YYYY;格式化后的时间就变成了2019-12-30,31;大写表示周年:所以意思可能为每周以周日开始,周一结束,如果本周存在跨年,则本周第一天开始便为第二年的时间。所以年份表示应该使用小写yyyy

jdk1.8 java.text.SimpleDateFormat占位符问题_第1张图片

jdk1.8:
https://docs.oracle.com/javase/8/docs/api/

Letter Date or Time Component Presentation Examples
G Era designator Text AD;公元
y Year Year 1996; 96
Y Week year;周年:每周以周日开始,周一结束,如果本周存在跨年,则本周第一天开始便为第二年的时间 Year 2009; 09
M Month in year (context sensitive) Month July; Jul; 07
L Month in year (standalone form);测试结果跟MM一样,不知道应用场景是啥 Month July; Jul; 07
w Week in year;本年第几周,ww表示位数表示 Number 27
W Week in month;本月第几周,注意每周都是从周日开始;如果本月1号是周日,也会算作一周 Number 2
D Day in year;表示一年的第几天 Number 189
d Day in month Number 10
F Day of week in month;跟W表示一样? Number 2
E Day name in week Text Tuesday; Tue;星期六
u Day number of week (1 = Monday, …, 7 = Sunday) Number 1
a Am/pm marker Text PM;下午
H Hour in day (0-23) Number 0
k Hour in day (1-24);小时;下午两点14 Number 24
K Hour in am/pm (0-11);区分上下午的小时;下午两点02 Number 0
h Hour in am/pm (1-12);与K类似 Number 12
m Minute in hour Number 30
s Second in minute Number 55
S Millisecond;毫秒 Number 978
z Time zone 时区 General time zone Pacific Standard Time; PST; GMT-08:00;(CST:2018-12-29 14:20:01)
Z Time zone 时区 RFC 822 time zone -0800;(+0800:2018-12-29 14:20:01)
X Time zone ISO 8601 time zone -08; -0800; -08:00;(+0800:2018-12-29 14:20:01)

你可能感兴趣的:(JAVA--基础)