2008-10-22 49 views
4

我碰到一個代碼片段來是這樣的:Java的時間戳的valueOf

Timestamp expiryDate = Timestamp.valueOf(dateStr + " " + "23:59:59.000");

這裏dateStr是由用戶在表單中輸入的字符串,格式爲yyyy-MM-DD。現在Timestamp.valueOf的行爲,使得其將不存在的日期,適當正確的日期。 2008年說,6月31日到2008年01st七月

我如何在Java中檢查dateStr串實際上是一個有效的日期?我知道我可以手動做檢查,但我想知道是任何方法是否已經可以做同樣的。

回答

6

嘗試SimpleDateFormat。您只需設置的格式,如一個在你的例子,然後調用解析您dateStr。

+0

您必須確保將setLenient()設置爲false,否則您最終會得到與Timestamp相同的問題。 – 2008-10-22 18:33:46