【发布时间】:2019-11-12 17:55:33
【问题描述】:
我在我的 Angular 项目中使用 MomentJS,但我在不同的日期时区遇到了很多问题。
我的应用程序不应该考虑任何时区,但是我的后端 api 和前端之间的这种混乱,当我将标准时刻对象发送到 c# 后端时,它默认将其转换为 UTC,我总是得到日期 -1 天。
我可以将 MomentJS 或 javascript Date 对象设置为始终默认为 UTC 并忽略小时/分钟/秒吗?
当我这样做时:moment() 它会根据时区和当前小时填充今天的值。
我想让moment() 在我的整个应用程序中始终具有 UTC 值,并且时间始终为 00:00:00。
是否也可以使用 new Date() 来实现这一点?
现在我一直在使用.toUTCString() 在new Date() 之后,但我的解决方案中有大量日期变量,确保所有内容都始终有.toUTCString() 并不是真的可以,如果另一个开发人员错过了这一点,这将导致问题。我正在尝试找到一种在项目级别对其进行标准化的方法。
我的主要问题是 momentJS 比较方法 .isBefore()、.isSame()、.isAfter()。因为当比较发生时,我所有的日期都包含不同的时间和不同的时区,所以它会考虑到它们,而不是按照我想要的方式行事。
【问题讨论】:
标签: javascript angular typescript datetime momentjs