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

如何使用moment-timezone获取指定时区的当前日期

获取指定时区的当前日期(Moment-Timezone)

嘿,这事儿超简单,你只需要在moment-timezone的调用里明确指定时区就行!

你原来的代码是获取默认时区(一般是系统本地时区或UTC,取决于运行环境)的日期,要切换到America/Los_Angeles时区,只需要用.tz()方法锁定目标时区:

// 引入moment-timezone并指定洛杉矶时区,再格式化日期
const laCurrentDate = require('moment-timezone').tz('America/Los_Angeles').format('YYYY-MM-DD');
console.log(laCurrentDate); // 当UTC时间为2019-01-01 04:00时,会输出 "2018-12-31"

这里有两个细节要注意:

  • 时区指定:.tz('America/Los_Angeles')会自动处理洛杉矶的夏令时/冬令时时差变化,不用你手动计算偏移量,直接得到对应时区的本地时间。
  • 日期格式:你原来用的Y-DD-MM会输出两位年份+日+月(比如18-31-12),而你需要的是2018-12-31这种年-月-日格式,所以要改成YYYY-MM-DD(YYYY代表四位年份,MM是两位月份,DD是两位日期)。

原理很直观:moment-timezone先获取当前UTC时间,再根据你指定的时区规则转换为对应时区的本地时间,最后按你要的格式输出日期——完全匹配你描述的场景,当UTC是2019年1月1日4点时,洛杉矶的本地日期就是2018年12月31日。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:13:29