我正在尝试从字符串中解析日期,但是我得到了错误的日期结果,并且不明白为什么:/
String dateStr = "September 6, 2013 - 10:48";
SimpleDateFormat parser = new SimpleDateFormat("MMMM dd, YYYY - HH:mm", Locale.US);
Date date = parser.parse(dateStr);
[当我查看日期结果(在调试器中)时,我看到:CET 2012年12月30日10:48:00有人可以告诉我我错了吗?
String dateStr = "September 6, 2013 - 10:48";
SimpleDateFormat parser = new SimpleDateFormat(
"MMMM dd, yyyy - hh:mm", Locale.US);
Date date = parser.parse(dateStr);
System.out.println(date);
使用yyyy而不是YYYY
也不要使用日期,而是使用LocalDate
和LocalDateTime
。
这是使用LocalDateTime
的方式>>
String dateStr = "September 6, 2013 - 10:48"; DateTimeFormatter format = DateTimeFormatter.ofPattern( "MMMM d, y - HH:mm",Locale.US); LocalDateTime date = LocalDateTime.parse(dateStr,format); System.out.println(date.format(format));
请注意,由于您的日期字符串中未包含AM或PM,因此
HH
将持续24小时。