SimpleDateFormat.parse() return 日期格式不正确 "YYYY/MMM/d"
SimpleDateFormat.parse() return incorrect date for format "YYYY/MMM/d"
我不明白为什么解析后我收到其他日期:
Date date = new Date();
System.out.println(date);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY/MMM/d");
String dateString = simpleDateFormat.format(date);
System.out.println(dateString);
date = simpleDateFormat.parse(dateString);
System.out.println(date);
输出:
Tue Apr 09 12:18:35 AST 2019
2019/Apr/9
Mon Dec 31 12:00:00 AST 2018
如果您将年份格式更正为
yyyy
而不是
YYYY
事情会按预期进行
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MMM/d");
Java 7 introduced YYYY as a new date pattern to identify the date week year.
能否将年份改为 yyyy
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MMM/d");
这些是 simpleDateFormatter 的模式
G 纪元代号(基督之前,基督之后)
y 年份(例如 12 或 2012)。使用 yy 或 yyyy。
M 年中的月份。 M 的数量决定格式的长度(例如 MM、MMM 或 MMMMM)
d 月中的第几天。 d 的数量决定格式的长度(例如 d 或 dd)
h 一天中的小时,1-12(AM / PM)(通常是 hh)
H 一天中的小时数,0-23(通常为 HH)
m 小时中的分钟,0-59(通常为 mm)
s 分钟中的秒数,0-59(通常为 ss)
S 以秒为单位的毫秒数,0-999(通常为 SSS)
E 一周中的第几天(例如星期一、星期二等)
D 一年中的第几天 (1-366)
F 一个月中的星期几(例如 12 月的第一个星期四)
w 一年中的第几周 (1-53)
W 月中的第几周 (0-5)
一个 AM / PM 标记
k 一天中的小时(1-24,不同于 HH 的 0-23)
K 一天中的小时,AM / PM (0-11)
时区
' 文本分隔符转义
' 单引号
我不明白为什么解析后我收到其他日期:
Date date = new Date();
System.out.println(date);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY/MMM/d");
String dateString = simpleDateFormat.format(date);
System.out.println(dateString);
date = simpleDateFormat.parse(dateString);
System.out.println(date);
输出:
Tue Apr 09 12:18:35 AST 2019
2019/Apr/9
Mon Dec 31 12:00:00 AST 2018
如果您将年份格式更正为
yyyy
而不是
YYYY
事情会按预期进行
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MMM/d");
Java 7 introduced YYYY as a new date pattern to identify the date week year.
能否将年份改为 yyyy
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MMM/d");
这些是 simpleDateFormatter 的模式
G 纪元代号(基督之前,基督之后) y 年份(例如 12 或 2012)。使用 yy 或 yyyy。 M 年中的月份。 M 的数量决定格式的长度(例如 MM、MMM 或 MMMMM) d 月中的第几天。 d 的数量决定格式的长度(例如 d 或 dd) h 一天中的小时,1-12(AM / PM)(通常是 hh) H 一天中的小时数,0-23(通常为 HH) m 小时中的分钟,0-59(通常为 mm) s 分钟中的秒数,0-59(通常为 ss) S 以秒为单位的毫秒数,0-999(通常为 SSS) E 一周中的第几天(例如星期一、星期二等) D 一年中的第几天 (1-366) F 一个月中的星期几(例如 12 月的第一个星期四) w 一年中的第几周 (1-53) W 月中的第几周 (0-5) 一个 AM / PM 标记 k 一天中的小时(1-24,不同于 HH 的 0-23) K 一天中的小时,AM / PM (0-11) 时区 ' 文本分隔符转义 ' 单引号