Moment 时间返回 UTC 时间而不是本地时间
Moment time is returning UTC time instead of local time
目前我正在开发一个项目,当用户单击“从应用程序下载报告”按钮时创建 excel 报告。除了正在下载的文件名外,一切正常。
问题是当我们从美国(夏令时的 CST 时间)检查时,假设如果用户在 9:00 下午 11 月 26 日下载报告,文件名将变为 2020 年 11 月 27 日。我们正在 node.js 应用程序中使用 moment 来获取时间。
const date = moment().format('LL');
有人可以知道我在哪里失踪。如果我是正确的,moment() 函数将 return 本地时间而不是 UTC 时间。但似乎正在获取 UTC 时间而不是本地时间。
我们需要改用 moment().local() 吗?
任何帮助将不胜感激。
提前致谢。
我想你应该在 URL:
中传递用户时区偏移量
// -300 - (CST with daylight savings)
https://somesite.com/api/report?offset=-300
并在后端使用 moment.js 更改偏移量,如下所示:
// old versions of a moment.js
const date = moment().zone(offset).format('LL')
// new versions of a moment.js
const date = moment().utcOffset(offset).format('LL')
目前我正在开发一个项目,当用户单击“从应用程序下载报告”按钮时创建 excel 报告。除了正在下载的文件名外,一切正常。
问题是当我们从美国(夏令时的 CST 时间)检查时,假设如果用户在 9:00 下午 11 月 26 日下载报告,文件名将变为 2020 年 11 月 27 日。我们正在 node.js 应用程序中使用 moment 来获取时间。
const date = moment().format('LL');
有人可以知道我在哪里失踪。如果我是正确的,moment() 函数将 return 本地时间而不是 UTC 时间。但似乎正在获取 UTC 时间而不是本地时间。
我们需要改用 moment().local() 吗?
任何帮助将不胜感激。
提前致谢。
我想你应该在 URL:
中传递用户时区偏移量// -300 - (CST with daylight savings)
https://somesite.com/api/report?offset=-300
并在后端使用 moment.js 更改偏移量,如下所示:
// old versions of a moment.js
const date = moment().zone(offset).format('LL')
// new versions of a moment.js
const date = moment().utcOffset(offset).format('LL')