如何更改以下日期的日期格式
Thu May 17 00:00:00 GMT+05:30 2012
至
2012-05-17 00:00:00
我需要它作为日期而不是字符串。我正在使用
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("")
但它没有给出结果。
实际上,我正在明智地存储值。因此,当有人再次输入同一日期的数据时,它应该被覆盖。
如果我将它作为日期对象传递到 hibernate 查询中,它会给出结果。但不总是。在少数情况下,它会再次插入,即插入同一日期的重复数据。在输入之前,我添加了一种方法来检查该日期的数据是否存在。 criteria.add(Restrictions.eq("date", date));
最佳答案
您根本不应该在这里进行字符串操作。您在评论中说过它是数据库中的日期/时间字段,那么为什么您的代码中会涉及任何字符串转换?
将 JDBC 中的参数指定为 java.sql.Date
、java.sql.Timestamp
或其他 - 然后也以这种方式获取它们。不要进行字符串转换。忽略在工具中查询数据库时显示的任何格式 - 根本不要认为结果具有“格式” - 它们只是日期。
关于java - 更改日期格式以查询数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10616851/