2011-06-13 50 views
1
String str = "13/06/2011"; 
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); 
Date date = (Date)formatter.parse(str); 

回答

7

我猜你的Date類實際上是java.sql.Date

+0

如果我刪除了演員表,它會給我編譯錯誤。 類型不匹配:無法從java.util.Date轉換爲java.sql.Date – 2011-06-13 07:09:36

+1

@vijay您應該導入'java.util.Date'而不是'java.sql.Date'。 – Howard 2011-06-13 07:11:27

+0

謝謝霍華德。我這樣做,現在我沒有得到演員例外。但現在我得到了下面的例外。 Java.text.ParseException:無法解析日期:2011/12/21 – 2011-06-13 07:23:06

2

你的導入語句說什麼?你是否意外地進口了一些其他類(例如java.sql.Date)?編譯器在刪除類轉換時會說什麼(不應該在那裏)?

+0

如果我刪除了演員,它會給我編輯錯誤。 類型不匹配:無法從java.util.Date轉換爲java.sql.Date – 2011-06-13 07:09:08

+0

並且有您的答案。錯誤的導入語句。 – Thilo 2011-06-13 09:47:02

2

DateFormat.parse()返回java.util.Date的實例,而不是java.sql.Date。 爲了從java.util.Date轉換爲java.sql.Date,我做了以下內容:

java.util.Date fromDate = df.parse(fromdate1); 
java.sql.Date sqlDate = new java.sql.Date(fromDate.getTime()); 
+0

經過大約一個小時的觀察,我發現這一點,它的效果很好。 – Chad 2012-07-18 15:24:15

0

它只是意味着你在java.sql.Date

從你的例子分配java.util.Date你必須做以下幾點:

String str = "13/06/2011"; 
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); 
java.util.Date date = (java.util.Date)formatter.parse(str);