我试图从字符串中解析日期,但我得到了一个错误的日期结果,不明白为什么:/
String dateStr = "September 6, 2013 - 10:48";
SimpleDateFormat parser = new SimpleDateFormat("MMMM dd, YYYY - HH:mm", Locale.US);
Date date = parser.parse(dateStr);
当我查看日期结果(在调试器中(时,我看到:2012年12月30日上午10:48:00 CET有人能告诉我哪里错了吗?
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
也不要使用Date,而是使用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));
请注意,HH
表示24小时,因为您的日期字符串中没有包含AM或PM。