2013-05-13 145 views
-3

我有一个字符串2012-10-23,我需要转换成一个Date对象。解析一个字符串到日期

我可以直接通过这个字符串下面的函数

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

'yyyy-MM-dd'将是正确的 – 2013-05-13 11:11:14

+4

你问之前读过SimpleDateFormat的javadoc吗?如果是这样,你为什么不按照那里的明确解释? – creinig 2013-05-13 11:13:39

回答

4
Date date = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH).parse(string); 

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

+0

为什么我的答案已关闭 – PSR 2013-05-13 11:16:54

+0

@PSR:你应该给你的答案添加一点解释。也许它会被取消删除。 – 2013-05-13 11:19:11

+1

@PSR,因为当你编辑出错误的时候,有新的答案,你的答案是重复的。我放弃了我的反删除投票,但它需要3次取消投票。你的原始答案看起来像[在西方问题中最快枪](http://meta.stackexchange.com/questions/9731/fastest-gun-in-west-problem) – Habib 2013-05-13 11:19:27

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 
+0

为什么downvote.Please解释 – PSR 2013-05-13 11:11:19

+0

对不起,我做了 – PSR 2013-05-13 11:11:46

+0

因为格式不对, – Habib 2013-05-13 11:11:56

0

,你不行,这是怎么

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