2009-10-31 121 views
1

我想讓程序調用當前日期,將30天添加到它,然後將該日期作爲字符串輸出。將日曆日期轉換爲字符串?

 // Set calendar for due date on invoice gui 
    Calendar cal = Calendar.getInstance(); 

    // Add 30 days to the calendar for the due date 
    cal.add(Calendar.DATE, 30); 
    Date dueDate = cal.getTime(); 
    dueDatestr = Calendar.toString(dueDate); 
+0

什麼問題? toString()的用法看起來有點奇怪。 – 2009-10-31 01:46:39

回答

3

問題是?

如果你想格式化你的日期,我建議你看看java.text.SimpleDateFormat而不是使用toString()。你可以這樣做:

SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy"); 
dueDateStr = dateFormat.format(dueDate); // renders as 11/29/2009 
1

你幾乎有它:

Date dueDate = cal.getTime(); 
String dueDateAsString = dueDate.toString(); 

String dueDateAsFormattedString = DateFormat.format(dueDate); 
0

你可能要考慮使用FastDateFormat從阿帕奇百科全書,而不是SimpleDateFormat的,因爲SimpleDateFormat的不是線程安全的。

FastDateFormat dateFormat = FastDateFormat.getInstance("MM/dd/yyyy"); 
dueDateStr = dateFormat.format(dueDate); 

如果你想使用日期格式化程序的靜態實例,這是一個常見的誘惑,尤其如此。