[英]How to insert a date from form to a column whose type is Datetime in database
[英]How to insert a value into a type date column of database?
如何將變量的值保存為數據庫的日期。
我的字符串如下
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(????)
如果mydate是yyyy-MM-dd格式的字符串,則可以執行以下操作
PreparedStatement ps = conn.prepareStatement("insert into t1 (date) values (?)");
ps.setDate(1, java.sql.Date.valueOf(mydate));
ps.executeUpdate();
在MySql中使用STR_TO_DATE函數
編輯
例如
INSERT INTO table (dateCol1, col2 ..)
VALUES (STR_TO_DATE('May 1, 2013','%M %d,%Y'), col2value, ...)
MySQL可以理解日期。 假設您正在使用PreparedStatement
,則可以僅使用標准JDBC stmt.setDate(n,date)
,其中n
是參數索引,而date
是date類型的Java變量。
無需進行任何字符串轉換。
我想我需要將字符串轉換為日期,但是如何?
如果要將String
轉換為Date
,請假設您的String
為2013-03-19
String yourString = "2013-03-19";
Date date = new SimpleDateFormat("yyyy-MM-dd").parse(yourString);
在這里,您的String
會轉換為Date
對象,但是如果您需要將此特定日期設置為另一個date對象,則無法通過yourDateObj.setDate(date)
這樣yourDateObj.setDate(date)
因為Date類中沒有任何此類直接方法,以日期為參數。
要設置特定日期,您可以使用“日歷”
Calendar yourDate = new GregorianCalendar();
yourDate.setTime(date);
否則,您也可以使用Date(int year, int month, int date)
但是現在不建議使用。
或者,如果您希望將String
插入mysql
Date
列,則#function_str-to-date ,我同意Ed Heal的回答
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.