mysql - java date()问题

查看:120
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆