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

JavaScript中如何获取指定时区准确时间而非设备本地时间?

实现方案

你可以直接使用JavaScript内置的Intl.DateTimeFormat能力完成需求,该能力是ECMAScript标准自带,不需要调用任何外部服务,即可基于IANA时区标识生成指定时区的时间,不受用户设备本地时区设置影响。

加尔各答时区对应的IANA标识为Asia/Kolkata,固定UTC偏移为UTC+5:30,以下是两种可用的实现方式:

通用方案(适配所有时区,推荐)

支持带夏令时调整的时区,无需手动维护时区偏移:

function getKolkataTime() {
  const now = new Date();
  // 直接指定时区为Asia/Kolkata,输出格式化时间
  return new Intl.DateTimeFormat('en-US', {
    timeZone: 'Asia/Kolkata',
    year: 'numeric',
    month: '2-digit',
    day: '2-digit',
    hour: '2-digit',
    minute: '2-digit',
    second: '2-digit',
    hour12: false
  }).format(now);
}

// 调用示例
console.log(getKolkataTime());

轻量方案(仅适用于加尔各答时区)

加尔各答全年无夏令时调整,固定偏移为330分钟,可直接通过时间戳计算得到对应时间对象:

function getKolkataDate() {
  const utcTimestamp = new Date().getTime();
  // 加尔各答比UTC早5小时30分钟,合计330*60*1000毫秒
  const kolkataTimestamp = utcTimestamp + 330 * 60 * 1000;
  return new Date(kolkataTimestamp);
}

// 调用示例
console.log(getKolkataDate().toISOString());

注意事项

  • 两种方案均完全基于运行环境内置能力实现,不需要依赖任何第三方API
  • 若后续需要适配其他存在夏令时变动的时区,优先使用Intl.DateTimeFormat方案,避免手动维护偏移出错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 19:27:03