【发布时间】:2020-05-24 19:42:03
【问题描述】:
我有一个 Firebase 云功能,可以向我的应用发送推送通知。我只想在白天发送通知。 我正在使用 moment-timezone 并已通过 npm install 安装了 moment-timezone: "^0.5.27" (moment ^2.24.0 也已安装)
我正在尝试使用以下方法将当前日期转换为不同的时区:
moment.tz(date, 'CST').format();
它会抛出这个错误:
Moment Timezone 没有 CST 的数据。见http://momentjs.com/timezone/docs/#/data-loading/。
在他们的时区文档中提到
在 Node.js 中,所有数据都是预加载的。加载数据不需要额外的代码。
那么为什么会出现这条消息?有什么方法可以根据动态传递的时区获取当前时间?
【问题讨论】:
-
您可以在没有库的情况下使用 Date.prototype.toLocaleString 执行此操作,例如
new Date().toLocaleString('en-gb',{timeZone:'America/Chicago', timeZoneName:'long'}).
标签: javascript node.js date timezone google-cloud-functions