我有一个格式为“YYYY-MM-dd HH::mm:ss”的日期字符串。每次我解析字符串时,我都会得到错误的日期。(“Sun Dec 29 10:10:10 CET 2013”)。代码如下:
DateFormat timeFormat = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
Date startDate = timeFormat.parse("2014-08-10 10:10:10");
System.out.println(startDate);
这将返回“2013 年 12 月 29 日星期日 10:10:10 CET”。如何正确解析日期字符串?
最佳答案
您需要使用yyyy
,而不是使用YYYY
。
Y
指的是 WEEK_YEAR,而 y
指的是 YEAR。 WEEK_YEAR 基于一年中第一个完整周的开始时间(这因设置而异),因此与 YEAR 略有(有时很大)不同。
查看javadoc: http://docs.oracle.com/javase/7/docs/api/java/util/GregorianCalendar.html#week_year
关于java - 解析字符串日期到日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24748118/