java - 格式化日期时间

标签 java hibernate

我正在尝试格式化当前的 datetime,然后使用 hibernate 将其保存到数据库中。我使用默认日期格式保存它,即:

Date date = new Date();
hibernateObject.setDate(date);
hibernateObject.save(date);

我找到了一种格式化它的方法,但它真的很乱,而且似乎不起作用:

Date finalDate = null;
try {
    Date date = new Date();
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    String sDate = df.format(date);
    finalDate = df.parse(sDate);
} catch (ParseException pe) {
    System.out.println("ParserException while attempting to establish date");
}
hibernateObject.setDate(date);
hibernateObject.save(date);

最佳答案

尝试使用它(在您的 hibernateObject 类中):

@Temporal(TemporalType.TIMESTAMP)
@DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
public Date getStartDate() {
    return startDate;
}
public void setStartDate(Date startDate) {
    this.startDate = startDate;
}

当您按照显示的方式操作时,日期对象实际上没有任何变化。唯一发生的事情:您创建包含格式化日期的字符串。因此,您可以指定 DateTimeFormat 模式以改为在该模式中存储日期。

另请注意,日期模式中的“hh”字符串实际上将为您提供从 1 到 12 的值。现在是上午/下午。要获得 0-24 小时值,请改用“HH”(请参阅​​ http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html,“日期和时间模式”部分)

关于java - 格式化日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18364789/

相关文章:

java - Spring Hibernate MySQL 单向 ManyToOne

mysql - 使用 Hibernate、Spring 和 JDBC 配置 SSL 证书

java - hibernate getResultList() 返回不同的数据

java - RMI 异常处理

Java G1GC - 卡片表(CT)与 memset (RS)

java - 集中配置管理

java - Antlr 语义谓词

java - Hibernate更新/删除一对多集合

java - 实例化 hibernate 配置会抛出错误 : Exception in thread "main" java. lang.NoClassDefFoundError: javax/xml/bind/JAXBException

java - java和oracle XE之间的OCI和THIN驱动连接与数据源连接有什么区别?