我在MySQL
创建了一个表格:
CREATE TABLE scheduled(sid INT,id INT,tweet VARCHAR(255),sdate DATE,
stime TIME,PRIMARY KEY(sid),FOREIGN KEY(id) REFERENCES usercred(id));
我从HTML输入字段中收到Date
和Time
。从HTML字段收到的日期如下:
4/30/2014
如何在Java中映射?收到Date
和Time
之后,在正确映射它们之后,我将提交事务或更新表/条目。
答案 0 :(得分:0)
在PreparedStatement
或ResultSet
内的JDBC层中,您使用映射java.sql.Date
(对于SQL-DATE)和java.sql.Time
(对于SQL-TIME)。然后你可以包装两种类型:
java.sql.Date sqlDate = ...; // from ResultSet
DateFormat df = new SimpleDateFormat("MM/dd/yyyy"); // or M/d/yyyy
String htmlFormat = df.format(sqlDate);
相反:
String htmlFormat = ...;
DateFormat df = new SimpleDateFormat("MM/dd/yyyy"); // or M/d/yyyy
java.util.Date d = df.parse(htmlFormat);
java.sql.Date sqlDate = new java.sql.Date(d.getTime());
// use result in PreparedStatement for INSERT or UPDATE
注意:这两种方法都使用运行此代码的服务器的标准时区。如有疑问,您应该设置时区UTC。类似的代码为TIME部分。
答案 1 :(得分:0)
可以使用SimpleDateFormat对象中的parse()方法:
SimpleDateFormat sdf = new SimpleDateFormat("M-dd-yyyy");
String dateInString = "4-30-1982"";
Date date = sdf.parse(dateInString);
System.out.println(date);