You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用纯JavaScript从NTP服务器获取当前时间?

纯JS获取标准服务器时间的正确方案

你错在用HTTP请求去访问NTP协议服务器。NTP是基于UDP的协议,浏览器端JavaScript无法直接建立UDP连接,你访问https://time.cloudflare.com得到的是Cloudflare的时间服务宣传网页,自然是HTML内容,而非你需要的时间数据。

给你一个纯JS的可行方案:使用提供HTTP接口的标准时间服务,这类服务通过HTTP返回结构化的时间数据,浏览器可以正常解析。代码示例如下:

// 调用返回JSON格式的时间API
fetch('https://worldtimeapi.org/api/ip')
  .then(res => res.json())
  .then(data => {
    // 提取UTC时间并转换为本地时间
    const utcTime = new Date(data.utc_datetime);
    const localTime = new Date(utcTime.getTime());
    
    console.log('服务器UTC时间:', data.utc_datetime);
    console.log('转换后的本地时间:', localTime);
  })
  .catch(err => {
    console.error('获取时间出错:', err);
  });

补充说明:

  • 这类HTTP时间API返回的是标准服务器时间,完全不依赖本地系统时间,解决了你用Date()方法的痛点
  • 如果这个API不可用,也可以替换为其他同类HTTP时间服务,只要是通过HTTP返回文本/JSON格式时间的接口都适用

内容的提问来源于stack exchange,提问作者Maksiks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 02:57:34