【发布时间】:2017-10-27 14:41:17
【问题描述】:
拥有一个具有特定日期格式的字符串对象。
需要检查该 dateStr 是否在本地计算机上的当前时间之后。
转换问题和LocalDateTime
String dateStr = "Oct 27 2017 02:29:00 GMT+0000";
public static final String DATE_FORMAT = "MMM dd yyyy HH:mm:ss zzzZ";
我知道下面的代码中有问题,使用LocalDateTime
public static boolean isFutureDate(String dateStr){
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DATE_FORMAT);
LocalDateTime dateTime = LocalDateTime.parse(dateStr, formatter);
return(dateTime.isAfter(LocalDateTime.now()));
}
问题在于时区和日期转换。 请帮助找到检查 dateStr 是否在 Java 8 中的当前本地日期之后的正确方法?
【问题讨论】:
-
请包含常量 DATE_FORMAT 的内容...
-
添加 DATE_FORMAT
-
这里的鱼腥味是什么定义?您可以看到任何错误?
-
不,返回的响应不是预期的。而且我知道 LocalDateTime 不考虑时区。
-
@AshokFelix 上面共享的代码为我返回了
false,鉴于字符串中提到的时间实际上早于我当前的本地日期时间,我认为这是合适的。
标签: date java-8 java-time datetime-parsing datetime-conversion