【发布时间】:2016-12-10 13:17:30
【问题描述】:
我正在使用以下日期代码将日期从 dd-mm-yyyy 格式化为 yyyy-mm-dd hh:mm:ss。但是有几天我错误地在生产中使用了以下代码:
try {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
java.util.Date utilDate = format.parse("22-10-2016 00:00:00");
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
System.err.println(sqlDate);
} catch (Exception e) {
}
日期为0028-04-07。
所以现在就我而言,我有大约 300 个格式错误的条目,有没有办法找回正确的日期?
我已经看到了日期后跟的模式:
23-10-2016 --> 0029-04-07
24-10-2016 --> 0030-04-08
25-10-2016 --> 0031-04-08
26-10-2016 --> 0032-04-07
所以一直在努力,直到有人帮忙为止。
【问题讨论】:
-
恐怕您的年份在插入表之前可能已被截断。在这种情况下,可能无法重建原始值。您可能需要手动替换错误的日期。
-
没有截断年份的问题,因为我会考虑2016年,所以我可以检索月份和日期吗?
-
也许...如果可以的话尝试清理数据
-
尝试另一种方式。我的意思是
format.format()而不是format.parse()以恢复原始日期。 .但恐怕它可能行不通,因为您也使用过 sql Date 存在复杂性。
标签: java date simpledateformat