我试图使用java.util.Date作为输入,然后用它创建查询-所以我需要一个java.sql.Date。
我惊讶地发现它不能隐式或显式地进行转换——但我甚至不知道如何做到这一点,因为Java API对我来说仍然相当新。
我试图使用java.util.Date作为输入,然后用它创建查询-所以我需要一个java.sql.Date。
我惊讶地发现它不能隐式或显式地进行转换——但我甚至不知道如何做到这一点,因为Java API对我来说仍然相当新。
当前回答
这个函数将返回一个从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;
}
其他回答
我认为最好的转变方式是:
static java.sql.Timestamp SQLDateTime(Long utilDate) {
return new java.sql.Timestamp(utilDate);
}
Date date = new Date();
java.sql.Timestamp dt = SQLDateTime(date.getTime());
如果你想在SQL表中插入dt变量,你可以这样做:
insert into table (expireAt) values ('"+dt+"');
您可以使用此方法将util日期转换为sql日期,
DateUtilities.convertUtilDateToSql(java.util.Date)
我是一个新手:在四处奔波之后,这是有效的。思想可能有用
String bufDt = bDOB.getText(); //data from form
DateFormat dF = new SimpleDateFormat("dd-MM-yyyy"); //data in form is in this format
Date bbdt = (Date)dF.parse(bufDt); // string data is converted into java util date
DateFormat dsF = new SimpleDateFormat("yyyy-MM-dd"); //converted date is reformatted for conversion to sql.date
String ndt = dsF.format(bbdt); // java util date is converted to compatible java sql date
java.sql.Date sqlDate= java.sql.Date.valueOf(ndt); // finally data from the form is convered to java sql. date for placing in database
首先格式化java.util.Date。然后使用格式化的日期在java.sql.Date中获取日期
java.util.Date utilDate = "Your date"
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
final String stringDate= dateFormat.format(utilDate);
final java.sql.Date sqlDate= java.sql.Date.valueOf(stringDate);
我正在尝试以下代码,工作得很好。
java.util.Date utilDate = new java.util.Date();java.sql.date sqlDate = new java.sql.Date(utilDate);