【发布时间】:2015-04-09 13:08:49
【问题描述】:
输入是一个字符串,例如“23:55”或“09:20”,即“HH:mm”格式。我希望字符串以 UTC 格式指定一天中的时间。我想使用 java.time 来解析字符串,并将输出解析为具有今天指定时间的 Instant。如果需要,我可以在字符串中附加一个时区,即“23:55 UTC”。
我想使用得到的瞬间来计算从现在到提到的瞬间之间的纳米数。即
Duration.between(Instant.now(), resultingInstant).toNanos();
编辑:可能找到了解决方案:
resultingInstant = LocalTime.parse("23:55").atDate(LocalDate.now(ZoneOffset.UTC)).toInstant(ZoneOffset.UTC)
【问题讨论】:
-
好吧,那你最好开始编码。
-
@Manu 你的评论是因为没有问号吗?
-
@Shirish 很多不同的组合。很多人都在这里列出。但例如:
LocalTime lt2 = LocalTime.parse("17:50 UTC", DateTimeFormatter.ofPattern("HH:mm z")); LocalTime lt3 = LocalTime.parse("17:50 PST", DateTimeFormatter.ofPattern("HH:mm z")); System.out.println("Hours diff: " + Duration.between(LocalTime.now(), lt2).toHours()); System.out.println("Hours diff: " + Duration.between(LocalTime.now(), lt3).toHours()); -
@HenrikSchinzel 一个 Instant 代表一个特定的时间点。那么您想如何仅使用有关小时和分钟的信息来创建它呢?
-
@BenWin 我希望是今天。 “输出是今天指定时间的 Instant。”