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封装下,以后就这样用了

回复
阅读 3.4k
2 个回答

这样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;
    }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏