安卓 Java解析日期字符串返回错误的月份
我试图解析一个日期字符串,但却弄错了月份,为什么
new SimpleDateFormat("yyyy-MM-DD", Locale.US).parse("2018-03-08")
为什么这个月返回一月强>
请查看屏幕截图:
你可以在下面搜索框中键入要查询的问题!
我试图解析一个日期字符串,但却弄错了月份,为什么
new SimpleDateFormat("yyyy-MM-DD", Locale.US).parse("2018-03-08")
为什么这个月返回一月强>
请查看屏幕截图:
# 1 楼答案
我在下面尝试了这个方法,通过将
DD
更改为dd
它工作得很好# 2 楼答案
为什么不使用^{} API
如果要将
LocalDate
转换为java.util.Date
,可以按照this answer进行操作# 3 楼答案
看看这个tutorial如果你试图显示月份名称,你应该使用3个M,这不是一天的标准
d
而不是D
我建议试试
yyyy-MMM-dd
# 4 楼答案
您需要使用
dd
而不是DD
试试这个:-
# 5 楼答案
这是因为您使用的格式是
"yyyy-MM-DD"
。解析器将按顺序进行解析:"2018-03-08"
yyyy
-将带来2018年MM
-将带来三月但是什么是
DD
?这是从年初开始的天数。 因此,它移回了今年(2018年)的第8天,也就是1月8日这就是为什么你看到的是一月而不是三月