每当我输入数据时,Moment js 都会得到错误的 UTC
Whenever I input data, Moment js gets the wrong UTC
我已经编写了几个月的应用程序,但没有遇到 MomentJs 的重大问题。但是,每当我在 moment() 上输入有关时间的信息时,库突然开始选择错误的 UTC。例如:
const now = moment();
const then = moment("2021-03-28 08:20 pm", "YYYY-MM-DD hh:mm a");
console.log(now, then)
//Output
//Moment<2021-03-26T20:28:15+01:00> Moment<2021-03-28T20:20:00+02:00>
我在此处相关的其他主题上来回走动,但找不到答案。其他人面临同样的问题,但出于不同的原因。如果两个时刻都在同一系统上生成,MomentJs 如何使用两个 UTC,从而使用相同的本地时区?我认为这可能与输入 "2021-03-28 08:20 pm"
有关,但我没有传递任何有关 UTC 的信息。有没有人遇到过类似的事情?
一些事情:
不要直接在 Moment
对象上调用 console.log
。相反,记录 .format()
函数的输出。
没有“错误的 UTC”这样的事情。 UTC 只有一种解释,这就是为什么它是通用的。 (它有一个偏移量 +00:00)。
假设您的意思是这两个值与 UTC 有不同的 offsets,这是在时区转换时预期的,无论是夏令时还是标准时间的变化。
根据您提供的日期和偏移量(以及您在 Stack Overflow 用户配置文件中的位置),我假设您在德国使用时间。
- 时区 ID 为
"Europe/Berlin"
。
- 标准时间(英文)称为欧洲中部时间 (CET),即 UTC+1
- 夏令时(英文)称为中欧夏令时 (CEST),即 UTC+2
- 2021 年,CEST 于当地时间 02:00 2021 年 3 月 28 日生效,从而解释了您询问的偏移量差异
我已经编写了几个月的应用程序,但没有遇到 MomentJs 的重大问题。但是,每当我在 moment() 上输入有关时间的信息时,库突然开始选择错误的 UTC。例如:
const now = moment();
const then = moment("2021-03-28 08:20 pm", "YYYY-MM-DD hh:mm a");
console.log(now, then)
//Output
//Moment<2021-03-26T20:28:15+01:00> Moment<2021-03-28T20:20:00+02:00>
我在此处相关的其他主题上来回走动,但找不到答案。其他人面临同样的问题,但出于不同的原因。如果两个时刻都在同一系统上生成,MomentJs 如何使用两个 UTC,从而使用相同的本地时区?我认为这可能与输入 "2021-03-28 08:20 pm"
有关,但我没有传递任何有关 UTC 的信息。有没有人遇到过类似的事情?
一些事情:
不要直接在
Moment
对象上调用console.log
。相反,记录.format()
函数的输出。没有“错误的 UTC”这样的事情。 UTC 只有一种解释,这就是为什么它是通用的。 (它有一个偏移量 +00:00)。
假设您的意思是这两个值与 UTC 有不同的 offsets,这是在时区转换时预期的,无论是夏令时还是标准时间的变化。
根据您提供的日期和偏移量(以及您在 Stack Overflow 用户配置文件中的位置),我假设您在德国使用时间。
- 时区 ID 为
"Europe/Berlin"
。 - 标准时间(英文)称为欧洲中部时间 (CET),即 UTC+1
- 夏令时(英文)称为中欧夏令时 (CEST),即 UTC+2
- 2021 年,CEST 于当地时间 02:00 2021 年 3 月 28 日生效,从而解释了您询问的偏移量差异
- 时区 ID 为