SimpleDateFormat在解析时忽略月份

man*_*anu 18 java simpledateformat

下面的代码给出了解析日期为"Wed Jan 13 00:00:00 EST 2010"而不是"Wed Jun 13 00:00:00 EST 2010".任何想法都非常感激.

    SimpleDateFormat sf = new SimpleDateFormat("yyyy-mm-dd'T'HH:mm:ss");

    String str = "2010-06-13T00:00:00";

    Date date = sf.parse(str);

    System.out.println(" Date " + date.toString());
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 51

尝试:

"yyyy-MM-dd'T'HH:mm:ss"
Run Code Online (Sandbox Code Playgroud)

MM意味着月份.mm分钟.有关SimpleDateFormat支持的日期和时间模式的更多详细信息,请参阅文档.

  • 欢迎来到SO,@ manu!听起来你认为这是正确的答案.您可以通过单击此注释上方和左侧的复选标记的轮廓将其标记为已接受的答案.这有助于其他人看到问题已得到解答,给回答者+15代表并给你+2代表! (2认同)
  • @manu - "搞清楚"?或者阅读ColinD的评论? (2认同)

hel*_*sim 5

问题是您使用 'mm' 作为月份,而 'mm' 代表分钟。以下是所有可用的日期格式,请在此处阅读更多文档。

Symbol  Meaning                Kind         Example
D       day in year             Number        189
E       day of week             Text          E/EE/EEE:Tue, EEEE:Tuesday, EEEEE:T
F       day of week in month    Number        2 (2nd Wed in July)
G       era designator          Text          AD
H       hour in day (0-23)      Number        0
K       hour in am/pm (0-11)    Number        0
L       stand-alone month       Text          L:1 LL:01 LLL:Jan LLLL:January LLLLL:J
M       month in year           Text          M:1 MM:01 MMM:Jan MMMM:January MMMMM:J
S       fractional seconds      Number        978
W       week in month           Number        2
Z       time zone (RFC 822)     Time Zone     Z/ZZ/ZZZ:-0800 ZZZZ:GMT-08:00 ZZZZZ:-08:00
a       am/pm marker            Text          PM
c       stand-alone day of week Text          c/cc/ccc:Tue, cccc:Tuesday, ccccc:T
d       day in month            Number        10
h       hour in am/pm (1-12)    Number        12
k       hour in day (1-24)      Number        24
m       minute in hour          Number        30
s       second in minute        Number        55
w       week in year            Number        27
G       era designator          Text          AD
y       year                    Number        yy:10 y/yyy/yyyy:2010
z       time zone               Time Zone     z/zz/zzz:PST zzzz:Pacific Standard 
Run Code Online (Sandbox Code Playgroud)