gpt4 book ai didi

java - 将自 1904 年以来的纳秒转换为有效的 Java 日期

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:30:26 25 4
gpt4 key购买 nike

我有一个数字代表自世界标准时间 1904 年 1 月 1 日凌晨 12:00 以来的纳秒数。我希望实例化一个表示该日期的 java.util.Date 对象。我应该如何进行?

最佳答案

您首先需要将代表纳秒数字 转换为毫秒

然后对于给定的日期字符串,获取自 unix 时间 Epoch 以来的总毫秒数,然后将之前转换为毫秒的数字添加到其中。

这是工作代码:

String target = "1904/01/01 12:00 AM";  // Your given date string
long nanoseconds = ...; // nanoseconds since target time that you want to convert to java.util.Date

long millis = TimeUnit.MILLISECONDS.convert(nanoseconds, TimeUnit.NANOSECONDS);

DateFormat formatter = new SimpleDateFormat("yyyy/MM/dd hh:mm aaa");
formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = formatter.parse(target);

long newTimeInmillis = date.getTime() + millis;

Date date2 = new Date(newTimeInmillis);

System.out.println(date2);

添加一个 import java.util.concurrent.TimeUnit;

关于java - 将自 1904 年以来的纳秒转换为有效的 Java 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17889852/

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