如何用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




