You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何用JavaScript获取当前PDT时间?无法直接用固定UTC偏移计算

用JavaScript输出当前PDT时间(自动处理夏令时)

嘿,这个问题我刚好有靠谱的解决办法!你不用手动去算UTC偏移量(一会-7一会-8确实麻烦),JavaScript自带的国际化API就能自动搞定夏令时的切换,一步到位输出PDT时间。

直接上代码,复制就能用:

// 获取当前时间
const currentTime = new Date();

// 创建PDT/PST的格式化器,指定时区为America/Los_Angeles
// 这个时区会自动识别夏令时,PDT时用UTC-7,PST时用UTC-8
const pdtFormatter = new Intl.DateTimeFormat('en-US', {
  timeZone: 'America/Los_Angeles',
  year: 'numeric',
  month: '2-digit',
  day: '2-digit',
  hour: '2-digit',
  minute: '2-digit',
  second: '2-digit',
  hour12: true // 如果想要24小时制,改成false就行
});

// 格式化出PDT时间
const formattedPDT = pdtFormatter.format(currentTime);

// 用alert输出
alert(`当前PDT时间:${formattedPDT}`);

为什么这个方法靠谱?

Intl.DateTimeFormat是浏览器原生支持的API,它会根据指定的America/Los_Angeles时区自动应用夏令时规则——每年夏令时开始时自动切换到UTC-7(PDT),结束时切回UTC-8(PST),完全不用你手动判断日期或者计算偏移量,省心又准确。

如果需要更灵活的格式,你可以调整Intl.DateTimeFormat的配置选项,比如去掉年份、只保留时分秒之类的,按需修改就行。

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

火山引擎 最新活动