尝试使用Java在SQL服务器中插入日期时遇到问题:
//final String input = "20120823151034";
final String input = "06282013143533";
final DateFormat df = new SimpleDateFormat("MMddyyyyHHmmss");
final Calendar c = Calendar.getInstance();
c.setTime(df.parse(input));
//c.add(Calendar.MILLISECOND, 1);
String s=df.format(c.getTime());
java.util.Date parsedUtilDate = df.parse(s);
java.sql.Date sqltDate= new java.sql.Date(parsedUtilDate.getTime());
System.out.println(sqltDate);
在这里,我希望将完整的字符串输出为插入SQL Server的年,月,日,小时,分钟和秒,但我只得到年,月和日期。如何将日期和时间插入数据库?
答案 0 :(得分:4)
检查数据库中的DATA类型,它应该是Timestamp
或Datetime
为此目的,您可以使用数据库函数NOW()
获取当前日期和时间。并将您的日期转换为时间戳< / p>
Timestamp timestamp = new Timestamp(new Date().getTime());
并将此timestamp
插入数据库
答案 1 :(得分:1)
java.sql.Date
可用于仅存储该月的年,月和日。它不能用于存储一天中的时间。
为了存储时间,您必须使用Timestamp
。在上面的代码中,替换
java.sql.Date sqltDate= new java.sql.Date(parsedUtilDate.getTime());
通过
java.sql.Timestamp timestamp = new java.sql.Timestamp(parsedUtilDate.getTime());
上述更改将使事情正常。