2011-05-13 60 views
0

我有以下方法將字符串轉換成日期對象爲什麼java不能正確地轉換我的時間?

public Date convertTime(String time) { 

    SimpleDateFormat parser = new SimpleDateFormat("d/M/y HH:mm:ss.S"); 
    try { 
     return parser.parse(time); 
    } 
    catch (Exception ex) { 
     ex.printStackTrace(); 
     return null; 
    } 


} 

我有以下方法將其轉換回

public String dateToTimeMillis(Date date) { 

    //StringBuffer formatted = new StringBuffer(); 
    SimpleDateFormat parser = new SimpleDateFormat("HH:mm:ss.S"); 
    try { 
     String formatted = parser.format(date); 
     return formatted; 
    } 
    catch (Exception ex) { 
     ex.printStackTrace(); 
     return null; 
    } 


} 

以下測試代碼

TraderLib lib = new TraderLib(); 
    Date d1 = lib.convertTime("01/11/2011 10:41:09.045"); 
    System.out.println(lib.dateToTimeMillis(d1)); 

返回10 :41:09.45

如何保存0?

回答

5

您應該格式設置爲:

new SimpleDateFormat("d/M/y HH:mm:ss.SSS"); 

保留3位。從documentation

「數字:對於格式化,模式字母的數量是最小位數,而較短數字是零填充到此量。對於解析,模式字母的數量將被忽略,除非需要分隔兩個相鄰的領域。「

+0

@deltanovember,任何計劃接受這個問題的答案?這個答案是否適合你? – retrodrone 2011-05-19 18:03:39

3

使用SimpleDateFormat parser = new SimpleDateFormat("d/M/y HH:mm:ss.SSS");

相關問題