2013-03-04 80 views
1

如何將作爲日期的變量的值保存到數據庫。如何將值插入數據庫的類型日期列?

我的字符串是如下

的Java

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); 
    try { 
     SimpleDateFormat parseFormatter = new SimpleDateFormat("yyyy-MM-dd"); 
     //SimpleDateFormat dt = new SimpleDateFormat("yyyyy-mm-dd hh:mm:ss+hh:mm"); 
     Date date = parseFormatter.parse(mydate); 

     String formattedDate = formatter.format(date); 
     System.out.println("Date"+formattedDate); 
     return formattedDate; <<need to save its value to database lets say its value is 2013-03-19 

我需要把它保存到表中的列,其類型爲日期。

數據庫

Name Type 
Date date 

我想我需要將字符串轉換爲日期,但如何?

ps.setDate(????) 

回答

1

如果指明MyDate是YYYY-MM-DD格式的字符串,那麼你可以做以下

PreparedStatement ps = conn.prepareStatement("insert into t1 (date) values (?)"); 
    ps.setDate(1, java.sql.Date.valueOf(mydate)); 
    ps.executeUpdate(); 
0

使用STR_TO_DATE功能在MySQL

EDIT

例如

INSERT INTO table (dateCol1, col2 ..) 
VALUES (STR_TO_DATE('May 1, 2013','%M %d,%Y'), col2value, ...) 
+0

如何將其插入到表的日期? – 2013-03-04 05:54:28

0

MySQL瞭解日期。假設您使用的是PreparedStatement,則可以使用標準JDBC stmt.setDate(n,date),其中n是參數索引,而date是date類型的Java變量。

不需要做任何字符串轉換。

0

我想我需要將字符串轉換爲日期,但如何?

如果你想String轉化爲Date,假設你的String2013-03-19

String yourString = "2013-03-19"; 
Date date = new SimpleDateFormat("yyyy-MM-dd").parse(yourString); 

這裏您String轉化爲Date對象,但如果你需要這個特定的日期設置到另一個日期對象那麼這是不可能的yourDateObj.setDate(date),因爲在Date類中沒有任何這樣的直接方法,它將date作爲參數。

設置,您可以使用日曆 像

Calendar yourDate = new GregorianCalendar(); 
yourDate.setTime(date); 

其他明智的,你可以做到這一點的方式也與Date(int year, int month, int date)一個特定的日期,但它現在已經過時了。

,或者如果你想插入Stringmysql然後#function_str-to-date,我同意埃德Date列治癒答案

相關問題