【问题标题】:Javascript: Is that possible to get the current Unix Timestamp when machine's time is incorrect?Javascript:当机器时间不正确时,是否可以获得当前的 Unix 时间戳?
【发布时间】:2014-08-22 05:09:43
【问题描述】:

假设我电脑上的时间不正确(比如提前 1 天)。

在这种情况下有没有办法获得current Unix Timestamp

This answer 列出了几种获取 Unix 时间戳的方法,但据我所知,他们都认为机器的时间是准确的。

【问题讨论】:

  • 是的,您可以从服务器获取它,或者使用 ajax,或者只是通过在某处回显它。
  • 不,我不这么认为。如果例如硬件时钟错误,机器上只有这个信息,不知道这个故障。我唯一能想到的是通过 HTTP(甚至可能是 NTP)从 JavaScript 文件调用到服务器,您可以确保它有正确的时间。
  • 从服务器端获取(s1)记住客户端时间(c1),下次在c2中你想要服务器时间,你可以使用s1+c2-c1,但是如果你这样做就不那么准确了想要毫秒的精度

标签: javascript timestamp unix-timestamp


【解决方案1】:

检查这个 api http://www.timeapi.org/

<script type="text/javascript">
     function myCallback(json) {
          alert(new Date(json.dateString));
     }
</script>
<script type="text/javascript" src="http://timeapi.org/utc/now.json?callback=myCallback"></script>

您可以使用来自 Date 对象的 UTC 方法:http://www.w3schools.com/jsref/jsref_obj_date.asp

var utcDate = new Date(json.dateString);
alert(utcDate.getUTCFullYear() + '-' + utcDate.getUTCMonth() + utcDAte.getUTCDate());

【讨论】:

  • 可靠的 json.dateString only 值是以毫秒为单位的时间值,任何其他值将取决于 Date .parse,这取决于实现。 w3schools 是一个糟糕的参考站点,在需要授权的地方使用 ECMAScript specificationMDN 示例。
【解决方案2】:

我有一个专门用于此类原因的站点:http://www.currentmillis.com/ 您可以向指定的 PHP 页面发出请求,然后您将返回一个 UNIX 时间戳,以秒或毫秒为单位。

【讨论】:

    猜你喜欢
    • 2012-03-04
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    • 1970-01-01
    • 2021-12-04
    • 2012-03-21
    • 2022-07-08
    相关资源
    最近更新 更多