【发布时间】:2019-01-17 09:26:13
【问题描述】:
public static long convertDateTimeToEpochMillis(String eventDate,String eventTime) {
String patternMills = "yyyy-MM-dd HH:mm:ss.SSS";
DateTimeFormatter dtf = DateTimeFormatter.ofPattern(pattern);
LocalDateTime localDateTime = LocalDateTime.parse(eventDate + " " +
eventTime, dtf);
}
当我传递2018-07-19 23:11:52.3 但解析成功2018-07-19 23:11:52.312 时,这给出了解析异常。我不想为不同的时间指定 3 种不同的模式,例如 yyyy-MM-dd HH:mm:ss.S、yyyy-MM-dd HH:mm:ss.SS 和 yyyy-MM-dd HH:mm:ss.SSS。
我能否提供一个最多需要 1/10 秒、100 秒和毫秒的模式?
【问题讨论】:
-
为什么要接受 3 格式?我认为您应该选择一种格式,最好是
yyyy-MM-dd HH:mm:ss.SSS并将其保留在整个应用程序中 -
正如我上面提到的,它给出了一个 DateTimeParseException。
-
检查重复标记问题的答案,它看起来是一个很棒的解决方案
-
您知道您的代码无法编译吗?在 Stack Overflow 上发布问题(不是关于编译器错误消息)时,请确保它可以,以便我们可以尝试您的代码,看到它以您描述的方式失败,并在我们发布之前尝试我们建议的更正。我得到“模式无法解析为变量”和下一个“此方法必须返回 long 类型的结果”。
标签: java date parsing time java-8