2014-09-01 88 views
-6

用java我需要做一些研究java.text.SimpleDateFormat可以用來解析的格式真理的String值成java.util.Date來解析這個2014-08-31 13:53:42.031-AUG-14 01.53.42 PM如何解析日期+時間字符串

+5

不要搜索'SimpleDateFormat' – MadProgrammer 2014-09-01 07:31:14

+0

但媒體鏈接我有一個日期字符串格式「2014-08-31 13:53:42.0」我需要這個轉換 – 2014-09-01 07:34:29

+1

你錯過了這一點。嘗試「格式化」字符串在後端是很痛苦的。首先將String值改爲更具延展性的格式,這將爲您提供更多選項,從而以您想要的方式進行格式化。 'SimpleDateFormat'不只是格式化一個值,它可以將它從'String'轉換爲'Date'對象... – MadProgrammer 2014-09-01 07:37:35

回答

5

開始。

然後,您可以使用另一個SimpleDateFormat格式化值到你想要的格式,例如

try { 
    String in = "2014-08-31 13:53:42.0"; 
    SimpleDateFormat sdfIn = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S"); 
    Date date = sdfIn.parse(in); 
    System.out.println(date); 
    SimpleDateFormat sdfOut = new SimpleDateFormat("dd-MMM-yy hh:mm.ss a"); 
    System.out.println(sdfOut.format(date)); 
} catch (ParseException ex) { 
} 

,輸出

Sun Aug 31 13:53:42 EST 2014 
31-Aug-14 01:53.42 PM 
+0

我認爲如果我們不提供完整的解決方案那。 – Maroun 2014-09-01 07:33:57

+0

@MarounMaroun @MarounMaroun如果你可以找到一個重複的,請告訴我,我會刪除答案並關閉問題 – MadProgrammer 2014-09-01 07:35:34

+0

你的答案是好的,因爲它包含的解釋,而不僅僅是代碼,它是詳細的,+1。但我認爲OP可能總是認爲他不應該在這裏以最少的理解進行研究和提問。 – Maroun 2014-09-01 07:36:52