gpt4 book ai didi

java - 解析 unix,UTC android

转载 作者:搜寻专家 更新时间:2023-11-01 07:54:54 24 4
gpt4 key购买 nike

我的 JSON 如下图所示,我在我的 android 应用程序中使用了它。我在解析 unix、UTC 格式的日出和日落时遇到问题。我的问题是如何只显示本地小时和分钟

enter image description here

这就是我尝试日出但错误的方法:sunrise.setText(json.getJSONObject("sys").getString("sunrise"));

感谢您的帮助!

最佳答案

我相信您有几个问题。

首先是如何将 Unix 时间戳转换为 Java 日期。

与 Unix 时间戳一样,Java 日期在内部存储为距特定时刻(称为“纪元”)的长偏移量。幸运的是,它们都使用相同的纪元。但是,Unix 时间戳具有更高的分辨率。

要从 Unix 时间戳中获取表示 Java 日期的 long,您需要将其乘以 1000。然后您可以使用结果来初始化 Java 日期。这里最重要的是确保您的时间戳是长整数,而不是整数(或 double 或任何其他数字类型)。

所以,本质上:

  long unixTimestamp = 1427607706;
long javaTimestamp = unixTimestamp * 1000L;
Date date = new Date(javaTimestamp);

接下来,您需要从 Json 中获取数值,作为 long 而不是 String,因此请使用 getLong 而不是 getString。

最后,您需要格式化日期。由于您只需要小时和分钟,您可以使用:

String sunrise = new SimpleDateFormat("hh:mm").format(date);

然后使用该值来设置您的 TextView 的值。

关于java - 解析 unix,UTC android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29335799/

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