我想獲取當前日期並格式化並將其保存到日期對象中。我嘗試下面的代碼,但得到一個錯誤,說日期是不可解析的。這是我曾嘗試:如何格式化當前日期並保存到日期對象中
SimpleDateFormat f = new SimpleDateFormat("d/M/yyyy");
Date date = f.parse(new Date().toString());
我需要的實際日期繼續作爲一個日期對象,將需要一些其他的代碼上
我想獲取當前日期並格式化並將其保存到日期對象中。我嘗試下面的代碼,但得到一個錯誤,說日期是不可解析的。這是我曾嘗試:如何格式化當前日期並保存到日期對象中
SimpleDateFormat f = new SimpleDateFormat("d/M/yyyy");
Date date = f.parse(new Date().toString());
我需要的實際日期繼續作爲一個日期對象,將需要一些其他的代碼上
後使用您定義的格式,你需要將String
值傳遞給parse
方法,該方法遵循該模式,並且new Date().toString()
肯定不遵循dd/MM/yyyy
模式。
另外,new Date()
已經是Date
對象,您不需要將其轉換爲String
並返回Date
。
我需要的實際日期繼續作爲一個日期對象
好像你只想要日期部分,而不是new Date()
對象的時間部分。知道這一點,你有兩條路可走:
使用普通Java。您將需要一個日曆對象:
public Date getCurrentDate() {
Calendar c = Calendar.getInstance();
c.set(Calendar.HOUR, 0);
c.set(Calendar.MINUTES, 0);
c.set(Calendar.SECONDS, 0);
c.set(Calendar.MILLISECONDS, 0);
return c.getTime();
}
使用處理日期和時間的外部庫容易像Joda Time:
public Date getCurrentDate() {
return new LocalDate().toDate();
}
'新的Date()'已經表示當前日期。你想做什麼 ? – 2013-04-10 14:42:02
至少試着打印'new Date()。toString()'以查看當前的輸出格式並瞭解代碼可能失敗的原因。另外,你的代碼示例根本沒有意義(從一個新的Date創建一個新的Date)。 – 2013-04-10 14:44:09
'Date'沒有格式:它只是一個時間點,有它自己的內部表示。你可以用特定格式的字符串*表示一個Date。 – 2013-04-10 14:45:40