首页 > 解决方案 > 如何在不使用系统时间的情况下在 Javascript 中获取当前日期/时间?

问题描述

new Date()获取当前系统时间。这意味着,如果当前系统时间错误(在我的情况下,客户端机器是 Windows 系统,其时间设置为当前时间的 -4 小时),new Date()将提供错误值。

我需要一种方法来获取客户的当前日期/时间,而不使用他的机器日期/时间(可能是某种方法来确定客户所在的时区,进而计算出时间)。

我如何在 JS 中做到这一点?

标签: javascript

解决方案


您可以从 Internet 上的 API 获取时间,这样您就不必使用客户端时间。您可以在以下网站发出 API 请求以获取时间。我希望它有所帮助。

https://worldtimeapi.org/

这是一个示例,您可以如何从上述 API 中根据您的 IP 地址获取时区。

注意:请访问上面的链接以获取您需要的时区的 API 链接并在此处提供。

$("#btn").on("click", function() {
  $.ajax({

    url: "https://worldtimeapi.org/api/ip",
    success: function(result) {
      console.log(result)
      $("#tm").text(result.datetime);
    }
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<input id="btn" type="button" value="Get Current Time" />
<p id="tm" />


推荐阅读