2013-03-06 46 views
0

我以「2013年1月23日6:57:17」格式獲取日期時間,需要將其轉換爲「2012-01-01T12:00:00」格式。我可以通過使用字符串函數並分離日期和時間並分別處理它們來解決問題。但問題的原因是日期格式是M/D/YYYY,甚至時間只有h:mm:ss,這意味着我無法假定每個分隔符之前的字符數。 我希望有人以前處理過這樣的事情。謝謝。如何轉換成Java中的Timestamp格式?

+1

http://stackoverflow.com/questions/3469507/how-can-i-change-the-date-format-in-java」 – BobTheBuilder 2013-03-06 13:28:52

+0

您不妨看看喬達時間:HTTP:// joda-time.sourceforge.net/ – Quetzalcoatl 2013-03-06 13:29:21

回答

3

不,String功能是不是要走的路。

我建議使用兩個DateFormat實例:一個用於源格式,另一個用於目標格式。

DateFormat source = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a"); 
source.setLenient(false); 
DateFormat target = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); 
target.setLenient(false); 
String dateAsString = "1/23/2013 12:00:00 AM"; 
Date d = source.parse(dateAsString); 
System.out.println(target.format(d)); 
+0

Sry回覆晚了。感謝你的回答... – MadN 2013-03-19 06:34:29