Java SimpleDateFormat 无法正确解析

标签 java simpledateformat

<分区>

我正在处理输入文件中的日期列表,我需要将每个日期从字符串转换为日期。格式示例:

2013 年 9 月 2 日下午 7:34:17
2011 年 1 月 13 日上午 10:47:36

每次读取一行时,日期都会存储在字符串变量 dateAsString 中。这是我得到的:

DateFormat format = new SimpleDateFormat("MM/dd/YYYY hh:mm:ss a");  
Date myDate = format.parse(dateAsString);  
System.out.println(myDate.toString());  

输出不正确:

9/2/2013 7:34:17 PM 变为 Sun Dec 30 19:34:17 EST 2012
1/13/2011 10:47:36 AM 变为 Sun Dec 26 10:47:36 EST 2010

这看起来很简单,所以我很困惑。我做错了什么?

最佳答案

只需尝试使用“yyyy”而不是“YYYY”

关于Java SimpleDateFormat 无法正确解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28633866/

相关文章:

即使存在事件处理程序,javafx Controller 也不对事件执行任何操作

java - 使用java和selenium验证输入的日期格式

java - Grails 中日期格式的错误输出

java - Timestamp 的 SimpleDateFormat 使用 getTime() 方法失去精度

java - 创建 bean LocalSessionFactoryBuilder 时出错 Spring hibernate

java - 以编程方式将 TextView 放置在相对布局中的彼此下方

java - 使用 DataTable 在 JSP 中分页

java - 几秒钟后HBase崩溃

java - XMLGregorianCalendar 到字符串转换错误

java时差输出负值和错误值