2015-06-14 44 views
0

我想單獨從日期時間字符串中提取日期和時間,但代碼顯示錯誤的日期。SimpleDateFormat顯示提取日期的一天的錯誤值

代碼

String dateTime= "2015-12-10T14:00:00"; 
    SimpleDateFormat frm1 = new SimpleDateFormat("YYYY-MM-dd'T'HH:mm:ss"); 
    Date date = frm1.parse(dateTime); 
    SimpleDateFormat frm2 = new SimpleDateFormat("dd/MM/YYYY"); 
    String date1 = frm2.format(date); 
    System.err.println(date1); 
    SimpleDateFormat frm3 = new SimpleDateFormat("HH:mm"); 
    String time = frm3.format(date); 
    System.err.println(time); 

輸出

28/12/2015 
14:00 
+0

它顯示正是你所指定的格式表示,它應該。 –

+1

對負面選民,我不是一個天才,所以我很難找出你的負面投票理由。請解釋一下。 – Jack

+0

@SotiriosDelimanolis它顯示28/12/2015但輸入是2015-12-10 – Jack

回答

1

試試這個代碼也指here

String dateTime= "2015-12-10T14:00:00"; 
     SimpleDateFormat frm1 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); 
     Date date = frm1.parse(dateTime); 
     SimpleDateFormat frm2 = new SimpleDateFormat("dd/MM/yyyy"); 
     String date1 = frm2.format(date); 
     System.err.println(date1); 
     SimpleDateFormat frm3 = new SimpleDateFormat("HH:mm"); 
     String time = frm3.format(date); 
     System.err.println(time); 




Letter Date or Time Component Presentation Examples 
G Era designator Text AD 
y Year Year 1996; 96 
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 in week Text Tuesday; Tue 
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 
+1

什麼是反對票?你在玩票嗎? :D你應該解釋它的伴侶。 –

+0

爲什麼你提出的代碼可以解決問題? –

+0

@SotiriosDelimanolis,因爲它是返回預期的結果,我還包括正確的格式的鏈接。我還應該做什麼? –