2010-06-16 19 views
17

Der folgende Code gibt mir das geparste Datum als "Wed Jan 13 00:00:00 EST 2010" anstelle von "Mi Juni 13 00:00:00 EST 2010". Irgendwelche Ideen sehr geschätzt.SimpleDateFormat Ignorieren Monat beim Parsen

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()); 
+4

Beachten Sie, dass Sie "mm" zweimal, einmal pro Monat und einmal pro Minute haben. – ColinD

Antwort

49

Versuchen:

"yyyy-MM-dd'T'HH:mm:ss" 

MM bedeutet Monat. mm bedeutet Minuten. Weitere Informationen zu den unterstützten Datums- und Uhrzeitmustern finden Sie in der Dokumentation für SimpleDateFormat.

+0

Danke, das habe ich herausgefunden. – manu

+2

Willkommen in SO, @manu! Es klingt, als würdest du dies als die richtige Antwort betrachten. Sie können es als akzeptierte Antwort markieren, indem Sie auf den Umriss eines Häkchens oberhalb und links neben diesem Kommentar klicken. Das hilft anderen Leuten zu sehen, dass die Frage beantwortet wurde, gibt dem Antworter +15 Wiederholungen und gibt Ihnen +2 Wiederholungen! – Pops

+2

@manu - "Es herausgefunden"? Oder lesen Sie ColinDs Kommentar? – duffymo

4

Das Problem besteht darin, dass Sie "mm" als Monat und "mm" Minuten verwenden. Unten sind alle Datumsformate verfügbar, lesen Sie mehr doc here.

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 
0

Beispiel, wenn Datum 06 ist 07 2016

SimpleDateFormat sdf= new SimpleDateFormat("dd MM yyyy"); 

Sie Komma, Hand verwenden können, Schrägstrich oder Bindestrich zwischen diesem Format.

Ex: dd-mm-yyyy, it will display like(06-07-2016) 
dd/mm/yyyy,it will display like(06/07/2016) 
dd.mm.yyyy,it will display like(06.07.2016) 
dd,mm,yyyy ,it will display like(06,07,2016) 

MM - will display number of the Month. 
MMM - will display Month Three character only(Ex: Jul) 
MMMM - will display full month(Ex: July) 

yyyy - will display full year(2016) 
yy - will display last two digits(16) 

hh - will display hours 
mm -will display minutes 
ss - will display seconds 
a - will display AM or PM 

Ex: if time is 12:09:10 PM means (hh:mm:ss a) 

EEE- will display short week name(Ex: Wed) 
EEEE- will display full week name(Ex: Wednesday) 
Verwandte Themen