我不明白为什么在解析后还能收到其他日期:
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
答案 0 :(得分:6)
如果将年份格式更正为
yyyy
代替
YYYY
事物将按预期运行
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MMM/d");
Java 7 introduced YYYY as a new date pattern to identify the date week year.
答案 1 :(得分:0)
可以将年份更改为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小时,上午/下午(0-11) z时区 '文本分隔符转义 '单引号