【问题标题】:Parsing a String to a Date [closed]将字符串解析为日期 [关闭]
【发布时间】:2013-05-13 11:09:15
【问题描述】:

我有一个字符串2012-10-23,我需要将其转换为日期对象。

我可以把这个字符串直接传递给下面的函数吗

Date date = new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH).parse(string);

【问题讨论】:

  • yyyy-MM-dd 是正确的
  • 在询问之前您是否阅读过 SimpleDateFormat 的 javadoc?如果是这样,你为什么不按照那里的明确解释?

标签: java string jakarta-ee date


【解决方案1】:
Date date = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH).parse(string);

对于2012-10-23,您的格式应为"yyyy-MM-dd"

【讨论】:

  • 为什么我的答案被关闭了
  • @PSR:您应该为您的答案添加一点解释。也许它会被取消删除。
  • @PSR,因为当您编辑错误时,已经有了新的答案,而且您的答案是重复的。我已经投了我的取消删除投票,但需要 3 次取消删除投票。你原来的答案好像是Fastest Gun in West problem
  • 感谢您的建议
【解决方案2】:
String string = "2012-10-23";
Date date = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH).parse(string);


Letter  Date or Time Component  Presentation    Examples
G   Era designator  Text    AD
y   Year    Year    1996; 96
Y   Week year   Year    2009; 09
M   Month in year   Month   July; Jul; 07
w   Week in year    Number  27
W   Week in month   Number  2
D   Day in year Number  189
d   Day in month    Number  10
F   Day of week in month    Number  2
E   Day name in week    Text    Tuesday; Tue
u   Day number of week (1 = Monday, ..., 7 = Sunday)    Number  1
a   Am/pm marker    Text    PM
H   Hour in day (0-23)  Number  0
k   Hour in day (1-24)  Number  24
K   Hour in am/pm (0-11)    Number  0
h   Hour in am/pm (1-12)    Number  12
m   Minute in hour  Number  30
s   Second in minute    Number  55
S   Millisecond Number  978
z   Time zone   General time zone   Pacific Standard Time; PST; GMT-08:00
Z   Time zone   RFC 822 time zone   -0800
X   Time zone   ISO 8601 time zone  -08; -0800; -08:00

【讨论】:

  • 为什么要投反对票。请解释一下
  • 对不起,我弄错了
  • 因为格式不对
【解决方案3】:

不可以,就是这样

String string = "2012-10-23";
Date date = new SimpleDateFormat("yyyy-MM-dd").parse(string);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-25
    • 2013-08-10
    • 2013-06-05
    相关资源
    最近更新 更多