【问题标题】:UNIX timestamp based on latitude and longitude in JavaJava中基于经纬度的UNIX时间戳
【发布时间】:2021-04-28 09:57:21
【问题描述】:

有没有什么简单的方法可以在知道某个位置的经纬度的同时找到该位置的时间戳?

【问题讨论】:

  • Unix 时间戳不依赖于位置。

标签: java android-studio timestamp latitude-longitude unix-timestamp


【解决方案1】:

有什么简单的方法可以找到一个位置的时间戳,而 知道这个特定位置的经度和纬度吗?

是的,有。

    Instant instantNow = Instant.now();
    long unixTimestamp = instantNow.getEpochSecond();
    System.out.println("Current UNIX timestamp valid in all locations: "
                        + unixTimestamp);

刚刚运行时的输出(在欧洲/哥本哈根时区):

当前 UNIX 时间戳在所有位置都有效:1611544940

正如 Andy Turner 在评论中所说,UNIX 时间戳与时区无关。因此,无论您要查询哪个位置,以上就是您所需要的。

我正在使用 java.time,这是现代 Java 日期和时间 API。

问题:java.time 不需要 Android API 26 级吗?

java.time 在较旧和较新的 Android 设备上都能很好地工作。它只需要至少 Java 6

  • 在 Java 8 及更高版本以及更新的 Android 设备(从 API 级别 26 起)中,现代 API 是内置的。
  • 在非 Android 的 Java 6 和 7 中,获取 ThreeTen Backport,这是现代类的后向端口(对于 JSR 310,ThreeTen;请参阅底部的链接)。
  • 在较旧的 Android 上,请使用脱糖或 Android 版本的 ThreeTen Backport。它被称为 ThreeTenABP。在后一种情况下,请确保使用子包从 org.threeten.bp 导入日期和时间类。

链接

【讨论】:

  • Ole V.V. - 我已将 OP 的单行问题作为您答案的第一行。我认为这很重要,因为如果明天改写问题,那么在查看者检查问题的编辑历史之前,您答案的第一行 Yes, there is. 可能没有意义。如果我的编辑与您保留答案的方式不同,我深表歉意。
【解决方案2】:

据我所知,您可以通过外部库或谷歌等 API 获取时区。 检查这个:https://developers.google.com/maps/documentation/timezone/overview

【讨论】:

    猜你喜欢
    • 2016-02-06
    • 2016-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-09
    • 2020-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多