gpt4 book ai didi

java - 如何从纪元微秒或纳秒创建 Java Instant?

转载 作者:行者123 更新时间:2023-12-01 17:45:20 26 4
gpt4 key购买 nike

我正在尝试标准化我的项目的时间戳格式,其中源以微秒精度报告。我试图找出是否有一种不需要使用手写常量的干净或最小的方法。

最佳答案

感谢您的建议。这是我能想到的最干净的:

static Instant getInstantFromMicros(long microsSinceEpoch) {
return Instant.ofEpochSecond(
TimeUnit.MICROSECONDS.toSeconds(microsSinceEpoch),
TimeUnit.MICROSECONDS.toNanos(
Math.floorMod(microsSinceEpoch, TimeUnit.SECONDS.toMicros(1))
)
);
}

static Instant getInstantFromNanos(long nanosSinceEpoch) {
return Instant.ofEpochSecond(0L, nanosSinceEpoch);
}

测试用例:

System.out.println(getInstantFromMicros(1_500_000_000_123_456L));
// 2017-07-14T02:40:00.123456Z

System.out.println(getInstantFromNanos(1_500_000_000_123_456_789L));
// 2017-07-14T02:40:00.123456789Z

关于java - 如何从纪元微秒或纳秒创建 Java Instant?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56063880/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com