Java:将日期/时间戳存储为mysql作为时间戳

时间:2014-08-04 22:17:28

标签: java mysql datepicker freemarker timepicker

当用户选择日期/时间时,我需要将其作为时间戳存储在DB中。我想将字符串(日期/时间)解析为时间戳(如果这是最好的方法)。但是,我无法理解!

这是我到目前为止所拥有的:

爪哇

protected String startDate

@Column(name="start_date")
public String getStartDate() {
    return startDate;
}
public void setStartDate(String startDate) {
    this.startDate = startDate;
}

@Override
public boolean equals(Object obj) {

    if (startDate == null) {
        if (other.startDate != null)
            return false;
    } else if (!startDate.equals(other.startDate))
        return false;
}

JS

// date picker
$('.datepicker').datetimepicker({
    controlType: 'select',
    dateFormat: 'M d, yy',
    timeFormat: 'h:m:s TT'
});

HTML

<input id="project_start_date" class="datepicker" type="text" name="project.startDate" value="${project.startDate}"/>

提前谢谢!

1 个答案:

答案 0 :(得分:0)

在我们当前的Java项目中,我们这样做:

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="start_date")
    private Date startDate;

这会将日期存储为时间戳。它与PostgreSQL,MySQL和H2完美配合,我认为与其他数据库管理员一样也可以。

顺便说一句,如果您需要将包含日期的字符串解析为Date,您可以执行以下操作:

    // Set your date format
    SimpleDateFormat formatter = new SimpleDateFormat("M d, yy h:m:s TT");

    String dateInString = <YOUR DATE>
    try {
        Date date = formatter.parse(dateInString);
    } catch (ParseException e) {
        // Handle the format exception
    }