以年,月和日为单位构造java.sql.Date

时间:2014-03-20 16:19:53

标签: mysql sql date

我的servlet中有单独的整数变量的日期,月份和年份。现在我想从它创建一个java.sql.Date,以便我可以使用

将其设置为我的存储过程的参数
callableStatement.setDate(arrDate);

那么如何创建一个名为arrDate的SQL日期变量?

1 个答案:

答案 0 :(得分:2)

首先创建一个Calendar实例。并使用相同的方法创建SQL Date的实例。

示例

Calendar cal = Calendar.getInstance();
cal.set( Calendar.YEAR, 2014 );
cal.set( Calendar.MONTH, Calendar.FEBRUARY );
cal.set( Calendar.DATE, 24 );
cal.set( Calendar.HOUR, 0 );
cal.set( Calendar.MINUTE, 0 );
cal.set( Calendar.SECOND, 0 );

System.out.println( "Cal Date: " + cal.getTime() );

java.sql.Date sqlDate = new java.sql.Date( cal.getTimeInMillis() );
System.out.println( "SQL Date: " + sqlDate );

结果

Cal Date: Mon Feb 24 00:00:00 IST 2014
SQL Date: 2014-02-24

现在使用sqlDate设置为PreparedStatement的查询参数。

示例

pst.setDate( paramNumber, sqlDate );

请参阅