gpt4 book ai didi

java - 将 UTC 日期从科学计数法转换为 Java.util.Date

转载 作者:行者123 更新时间:2023-12-03 07:54:25 24 4
gpt4 key购买 nike

我正在尝试将 Reddit 的 json 中的 created_utc 日期转换为 Date 对象,但我不断收到“Unparceable”错误。他们的日期的一个例子是:created_utc": 1.43701862E9, 我被告知是一个 unix 时间戳。

根据我的研究,这段代码应该可以转换它:

String date = "1.43701862E9";
java.util.Date time = new java.util.Date((long)date*1000);

但显然我在将日期乘以 1000 时遇到错误。

这是我通常用来转换字符串日期的代码:

    String date = "1.43701862E9";
Calendar cal = Calendar.getInstance(TimeZone.getDefault());
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z");
format.parse(date);

最佳答案

这应该适合你:

public static void main(String[] args) {

String date = "1.43701862E9";
java.util.Date time = new java.util.Date(Double.valueOf(date).longValue()*1000);

System.out.println(time);
}

输出:

Wed Jul 15 23:50:20 EDT 2015

由于您使用的是科学记数法,因此您无法使用 Long 类解析 String:Long.parseLong(String s) (你也不能像你尝试的那样简单地转换一个字符串)。相反,我使用了 Double.valueOf()方法并使用 .longValue()

保留 Long

关于java - 将 UTC 日期从科学计数法转换为 Java.util.Date,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31926385/

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