数据库
Create table t (d Date);java部分代码:
String DateStr = "1985-07-11 10:30:00.0";pstmt = conn.prepareStatement("INSERT INTO t(d) VALUES(?)");pstmt.setDate(1, Date.valueOf(DateStr))就会报错
For input string: "11 10:30:00.0"我知道Date.valueOf("YYYY-MM-DD")是不会错的,但是我需要保留日期后面的时间,不知道该如何转换呢?
Create table t (d Date);java部分代码:
String DateStr = "1985-07-11 10:30:00.0";pstmt = conn.prepareStatement("INSERT INTO t(d) VALUES(?)");pstmt.setDate(1, Date.valueOf(DateStr))就会报错
For input string: "11 10:30:00.0"我知道Date.valueOf("YYYY-MM-DD")是不会错的,但是我需要保留日期后面的时间,不知道该如何转换呢?
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
java.util.Date d = (java.util.Date) sdf.parse("1985-07-11 10:30:00.0");
System.out.println(sdf.format(d));
} catch (ParseException e) {
e.printStackTrace();
}
}
它的参数String date的格式为"yyyy-mm-dd",
同时要知道,
java.sql.Date.toString()也是"yyyy-mm-dd"格式的
java.sql.Timestamp d = (java.sql.Timestamp)java.text.DateFormat.parse(DateStr);pstmt.setTimestamp(1, d)
Unparseable date: "2005-06-03 19:15:28"代码:
String DateStr = sColumnText.length()>19?sColumnText.substring(0,19):sColumnText;
//此时DateStr = "2005-06-03 19:15:28"
Timestamp d = (Timestamp)DateFormat.getInstance().parse(DateStr); //执行这一句就出错了。
stmt.setTimestamp(i, d);
String DateStr = sColumnText.length()>19?sColumnText.substring(0,19):sColumnText;
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.sql.Timestamp d = new Timestamp(df.parse(DateStr).getTime());
stmt.setTimestamp(i, d);