
在建立javaBean时将变量如time直接定义为Date类型,而数据库表单里的数据类型定义为datetime。当向数据库增加一条数据时,
stm.setString(4, new Date().toLocaleString())
当然有人会觉得,我定义的是Date类型的,为什么要用setString,因为后面我是使用了当前时间的一个字符串,所以要用String类型,
而且写sql语句时写数据表里数据名就可以,string直接存进去完全没有问题,只是我调出来的比较好玩的发现,前面我用date的几种
属性也不成功,应该是我水平有限,如果大家有好的方法请多多指教。
而读取一条数据时rs.getDate()
第二种方法就比较正经:
在建立javaBean是将变量如time直接定义为 Timestamp 类型,这是sql里的一种类型,同样的数据表里数据类型还是定义为datetime,
当向数据库增加一条数据时,stm.setTimestamp(6,new Timestamp(new Date().getTime()))
很正常的一种写法,而读取数据时rs.getTimestamp()
这是我常用的两种方法。
java.util.Date date=new java.util.Date()
java.sql.Date data1=new java.sql.Date(date.getTime())
这样 java中的date就转成sql中的date了 ,具体你可以根据需要进行简化,
date1 就是当前时间,已经转成能插入数据库中的datetime类型了。
import java.text.DateFormatimport java.text.ParseException
import java.text.SimpleDateFormat
import java.util.Date
import java.util.Locale
public class TestDate {
public static void main(String[] args) {
String str1 = "Mon Mar 05 00:00:00 CST 2012"
String modle="yyyy-MM-dd HH:mm:ss"
System.out.println(getTime(str1,modle))
}
public static String getTime(String str,String model){
String dateStr=""
SimpleDateFormat f=new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy",Locale.ENGLISH)
try {
Date date=f.parse(str)
dateStr=new SimpleDateFormat(model).format(date)
} catch (Exception e) {
e.printStackTrace()
}
return dateStr
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)