【发布时间】:2021-12-08 19:10:29
【问题描述】:
this.mdbReading.y = new Date[reading.y.length];
SimpleDateFormat ydateFormat = new SimpleDateFormat("yyyy-MM-dd");
for ( i = 0; i < reading.y.length; i++) {
//System.out.println("i = " + i + " string is "+ reading.y[i]);
try {
this.mdbReading.y[i] = ydateFormat.parse(reading.y[i]);
} catch (Exception e) {
//TODO: handle exception
System.out.println("Exception in date parse "+ e);
break;
}
}
这是我的代码,其中输入字符串,即reading.y[i] 的格式为“2016-04-28”......我得到的输出为“2016-04-24 T18.30:00 00:00:00”虽然我期望输出为“2016-04-24 T00.000:00 00:00:00”..所以有没有办法将默认时间设置为 00:00?
【问题讨论】:
-
我建议你不要使用
SimpleDateFormat和Date。这些类设计不佳且早已过时,尤其是前者,尤其是出了名的麻烦。而是使用来自java.time, the modern Java date and time API 的LocalDate和DateTimeFormatter。查看答案。 -
Anti-pattern: parallel collections。你还没有发布完整的代码,所以很难确定。我觉得我闻到了糟糕的设计。如果是这样,该链接应该会有所帮助。
标签: date datetime spring-mvc spring-data simpledateformat