【发布时间】:2018-10-02 06:30:59
【问题描述】:
我在尝试将以下类型的数据转换为 Date 时遇到问题。我是 Java 新手,正在努力解决这个问题。我想为比较器使用以下日期数据来比较日期。一些例子或提示会很可爱! 很高兴收到您的来信!
"2018-10-02T15:17:35"
int sortWithDate = fromDate.compareTo(fromDate2);
if (sortWithDate != 0) {
return sortWithDate * -1;
}
【问题讨论】:
-
(LocalDateTime.parse("2018-10-02T15:17:35", DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss"))...但可能已经有预定义的格式 -
你也可以使用
DateTimeFormatter.ISO_LOCAL_DATE_TIME,因为喜欢打字的人:P -
为什么要乘以
-1?您可以只使用unary minus operator:return -sortWithDate;--- 更好的是,翻转要比较的日期:int sortWithDate = fromDate2.compareTo(fromDate); if (sortWithDate != 0) { return sortWithDate; } -
@Andreas 交换参数给出了合理的结果,但可能会溜走读者的视线。我更愿意明确相反的顺序,例如以某种方式应用
Comparator.reverseOrder()或Comparator.reversed()(视情况而定)。 -
@OleV.V.真的。我通常会添加评论
// descending或类似的东西,以保持代码更清晰,但不会混淆人类读者。
标签: java date datetime comparator