mysql - java date()问题
本文介绍了mysql - java date()问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
Java中
new Date(); date类型的结果,存入msyql数据库中,只有年月日,没有时分秒。
mysql用datetime,timestamp,都不行,不知道java的date类型怎么能把时分秒,也存进去。
SurveyBank bank = new SurveyBank();
bank.setBank_name(bankName);
bank.setCreatetime(new Date());
SurveyDao.add(bank); //调用dao的add,就是hibernate的save方法,
mysql中createtime字段:2016-10-20 00:00:00
已解决:
1.获取当前时间字符串
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
String nowStr = df.format(new Date());// new Date()为获取当前系统时间
2.时间字符串转timestamp
Timestamp now = Timestamp.valueOf(nowStr);<导入包:import java.sql.Timestamp;>
3.msyql字段用timestamp
4.实体类字段对应
@Type(type="date")
@Column(name = "createtime")
public Timestamp getCreatetime() {
return createtime;
}
public void setCreatetime(Timestamp createtime) {
this.createtime = createtime;
}
成功,然后把采纳的demo封装下,以后就这样用了
解决方案
这样demo可以吗?
/**
* @param date
* @return 格式化后的时间用于数据库传参,格式有误的话则会返回当前时间
*/
public static Timestamp stringToTimestamp(String date) {
Timestamp ts = new Timestamp(System.currentTimeMillis());
String tsStr = date + " " + "00:00:00";
try {
ts = Timestamp.valueOf(tsStr);
// System.out.println(ts);
} catch (Exception e) {
e.printStackTrace();
}
return ts;
}
这篇关于mysql - java date()问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文