0

我在尝试使用 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 中,但我只得到年、月和日期。我应该怎么做才能将日期和时间插入数据库?

4

2 回答 2

4

检查您在数据库中的 DATA 类型,Timestamp或者Datetime为此目的,您可以将数据库函数NOW()用于当前日期和时间。并将您的日期转换为时间戳

  Timestamp timestamp = new Timestamp(new Date().getTime());

并将其插入timestamp数据库

于 2013-07-01T13:12:06.093 回答
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());

上述更改将使事情正常进行。

于 2013-07-01T13:27:59.980 回答