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

如何将Google时区API返回的时区名称转换为缩写形式?

时区名称转缩写的最佳方法

方法一:手动维护映射表(最可靠)

时区名称与缩写的对应关系固定,直接创建键值对映射表是最不容易出错的方案,能覆盖各种特殊情况:

// 可根据业务需求扩展的时区映射表
const timeZoneAbbrMap = {
  "Pacific Standard Time": "PST",
  "Pacific Daylight Time": "PDT",
  "Eastern Standard Time": "EST",
  "Eastern Daylight Time": "EDT",
  "Central Standard Time": "CST",
  "Central Daylight Time": "CDT"
};

// 从API获取的时区名称
var timeZone = jsonResponseTwo.timeZoneName;
// 匹配缩写,无匹配时返回原名称或自定义默认值
var timeZoneAbbr = timeZoneAbbrMap[timeZone] || timeZone;

方法二:正则提取首字母(适合简单场景)

如果只处理类似「Xxx Standard Time」「Xxx Daylight Time」的标准格式,可用正则提取每个单词首字母并大写:

var timeZone = jsonResponseTwo.timeZoneName;
// 提取每个单词首字母并拼接
var timeZoneAbbr = timeZone.match(/\b\w/g).join('').toUpperCase();

注意:该方法对非标准格式的时区名称可能失效,比如特殊命名的时区,因此仅推荐在场景单一的情况下使用。

方法三:利用Intl API动态获取(适配夏令时)

如果API同时返回了timeZoneId(如「America/Los_Angeles」),可以借助Intl.DateTimeFormat自动获取对应时区的缩写,还能自动适配夏令时/标准时切换:

// 从API获取时区ID
var timeZoneId = jsonResponseTwo.timeZoneId;
// 生成对应时区的缩写
var timeZoneAbbr = new Intl.DateTimeFormat('en-US', {
  timeZone: timeZoneId,
  timeZoneName: 'short'
}).formatToParts().find(part => part.type === 'timeZoneName').value;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 18:59:56