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

如何在JS中根据时区获取任意国家/地区的标准时间格式

JS基于时区获取对应当地时间格式的实现方案

可以直接用浏览器/Node.js原生内置的Intl国际化API实现,不需要引入任何第三方依赖,实现代码如下:

function getSpecificTimeFormat(timeZone) {
  // 初始化仅返回时间部分的格式化实例,自动匹配当地默认时间显示规则
  const formatter = new Intl.DateTimeFormat('default', {
    timeZone: timeZone,
    hour: 'numeric',
    minute: 'numeric'
  });
  const formatOptions = formatter.resolvedOptions();
  const parts = formatter.formatToParts(new Date());
  let formatStr = '';

  parts.forEach(part => {
    switch(part.type) {
      case 'hour':
        formatStr += formatOptions.hour12 ? 'h' : 'HH';
        break;
      case 'minute':
        formatStr += 'mm';
        break;
      case 'dayPeriod':
        formatStr += ' a';
        break;
      case 'literal':
        formatStr += part.value.trim() ? ':' : ' ';
        break;
    }
  });
  return formatStr.trim();
}

效果验证

  • 调用getSpecificTimeFormat("America/New_York") 返回 h:mm a
  • 调用getSpecificTimeFormat("Europe/Paris") 返回 HH:mm
  • 调用getSpecificTimeFormat("Asia/Shanghai") 返回 HH:mm

注意:如果需要完全匹配特定地区的显示习惯,可以把Intl.DateTimeFormat的第一个参数从'default'改成对应地区码,比如'en-US'、'fr-FR',结果会更贴合当地的格式规范。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 15:36:04