1.使用Date类和TimeStamp类的valueOf转换时间
Date.valueOf();
TimeStamp.valueOf();
如果这两种转换直接用在sal语句上,那么最外层要加双引号或单引号的;比如插入时间:insert into value('Date.valueOf("2012-12-12")');
2、在数据库中插入时间
PreparedStatement ps = con.prepareStatement("insert into TableName(dAddTime) values(?)");
这里有三种方式:
1) ps.setDate(1,new java.sql.Date(System.currentTimemillis()));
2) ps.setTime(2,new java.sql.Time(System.currentTimemillis()));
3) ps.setTimestamp(3,new java.sql.Timestamp(System.currentTimemillis()));
第一种只插入年月日 0000-00-00
第二种只插入时间 00:00:00
第三种则插入完整的时间 0000-00-00 00:00:00.000 .000是毫秒数。
3.java.sql.Date与java.util.Date类型转换
public static java.util.Date sqlDateToutilDate(java.sql.Date sdate)
{
java.util.Date udate = null;
long t = sdate.getTime();
udate = new Date(t);
return udate;
}
public static java.sql.Date utilDateTosqlDate(java.util.Date udate)
{
java.sql.Date sdate = null;
long t = udate.getTime();
sdate = new java.sql.Date(t);
return sdate;
}
public static void main(String[] args) {
Date date = new Date();
System.out.println("日期转字符串:" + ConvertDate.DateToStr(date));
System.out.println("字符串转日期:" + ConvertDate.StrToDate(ConvertDate.DateToStr(date)));
}
4.常见的java程序转换
//String转Date
public static void dataTest() {
SimpleDateFormat format = new SimpleDateFormat("2012-12-12 00:00:00");
Date lastModifyTime;
try {
lastModifyTime = format.parse("2012-12-12 00:00:00");
System.out.println(lastModifyTime.toLocaleString());
} catch (ParseException e) {
e.printStackTrace();
}
}
//Date转String
public static void testData() {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println(sdf.format("2012-12-12 01:12:11"));
System.out.println(java.sql.Timestamp.valueOf("2012-12-12 01:12:11"));
} catch (Exception e) {
e.printStackTrace();
}
}