2010-07-06 111 views
0

我正在採用Java的類,我需要將字符串轉換爲日期格式(dd/MM/yyyy)。我一直在使用SimpleDateFormat格式化我的輸入,但它顯示日期落在一週中的時間,時區和日期。這裏是我的代碼片段:Java字符串日期沒有時間

SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy"); 
Date date = new Date(); 
do{ 
    y = JOptionPane.showInputDialog(null, 
            "Please enter the vehicle's registration date", 
            "Year?", 
            JOptionPane.QUESTION_MESSAGE); 
    try { 
     date = df.parse(y); 
     check = true; 
    } 
    catch (ParseException e) { 
     check = false; 
    } 
} 
while (check == false); 
return date; 

任何人都知道我可以保持格式只是日期(例如12/3/2000)? 謝謝

回答

3

只需使用SimpleDateFormat#format()相應地格式化它。

String dateString = new SimpleDateFormat("dd/MM/yyyy").format(dateObject); 

java.util.Date對象包含有關日期和時間信息。如果您只需要日期部分爲人類可表示格式,則需要將其格式化爲String。調用Date#toString(),因爲您在執行System.out.println(dateObject)時只會返回格式爲dow mon dd hh:mm:ss zzz yyyy的日期。另請參閱鏈接的javadoc。

0

我有一個類似的解決方案,以@BalusC,除了這個人會提供一個語言環境相關的格式:

String dateString = java.text.DateFormat.getDateInstance().format(dateObject); 

換句話說,你的美國和歐盟的客戶將獲得不同的格式。一個他們熟悉的。