我试图使用java.util.Date作为输入,然后用它创建查询-所以我需要一个java.sql.Date。
我惊讶地发现它不能隐式或显式地进行转换——但我甚至不知道如何做到这一点,因为Java API对我来说仍然相当新。
我试图使用java.util.Date作为输入,然后用它创建查询-所以我需要一个java.sql.Date。
我惊讶地发现它不能隐式或显式地进行转换——但我甚至不知道如何做到这一点,因为Java API对我来说仍然相当新。
当前回答
别介意…
public class MainClass {
public static void main(String[] args) {
java.util.Date utilDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
System.out.println("utilDate:" + utilDate);
System.out.println("sqlDate:" + sqlDate);
}
}
解释了它。链接是http://www.java2s.com/Tutorial/Java/0040__Data-Type/ConvertfromajavautilDateObjecttoajavasqlDateObject.htm
其他回答
在我的情况下,从JXDatePicker (java日历)选择日期,并将其存储在数据库中的SQL日期类型,下面的工作很好。
java.sql.Date date = new java.sql.Date(pickedDate.getDate().getTime());
where pickedDate是JXDatePicker的对象
这个函数将返回一个从java日期对象转换而来的SQL日期。
public static java.sql.Date convertFromJAVADateToSQLDate(
java.util.Date javaDate) {
java.sql.Date sqlDate = null;
if (javaDate != null) {
sqlDate = new Date(javaDate.getTime());
}
return sqlDate;
}
这里的例子转换Util日期到Sql日期和ya这是一个例子,我在我的项目中使用的可能对你也有帮助。
java.util.Date utilStartDate = table_Login.getDob();(orwhat ever date your give form obj)
java.sql.Date sqlStartDate = new java.sql.Date(utilStartDate.getTime());(converting date)
将java.util.Date转换为java.sql.Date将丢失小时、分钟和秒。所以如果可能的话,我建议你像这样使用java.sql.Timestamp:
prepareStatement.setTimestamp(1, new Timestamp(utilDate.getTime()));
要了解更多信息,您可以检查这个问题。
您可以使用此方法将util日期转换为sql日期,
DateUtilities.convertUtilDateToSql(java.util.Date)