解析字符串一天时间(Parse time of day string)

2019-10-29 21:32发布

输入是如在“23点55分”或“9时20分”,即这样的字符串“HH:MM”格式。 我希望字符串指定日UTC时间。 我想用java.time解析字符串和输出是今天一天的指定时间即时。 如果需要,我可以附加一个时区的字符串,即“UTC 23:55”。

我想用所产生的瞬间来计算现在所提到的瞬间之间毫微数量。 即

Duration.between(Instant.now(), resultingInstant).toNanos();

编辑:可能已经找到了解决办法:

resultingInstant = LocalTime.parse("23:55").atDate(LocalDate.now(ZoneOffset.UTC)).toInstant(ZoneOffset.‌​UTC)

Answer 1:

另一种方法是使用一个ZonedDateTime:

import static java.time.ZoneOffset.UTC;
import static java.time.temporal.ChronoUnit.NANOS;

LocalDate today = LocalDate.now(UTC);
ZonedDateTime resultingDate = ZonedDateTime.of(today, LocalTime.parse("23:55"), UTC);
long nanos = NANOS.between(ZonedDateTime.now(), resultingDate);


文章来源: Parse time of day string