gpt4 book ai didi

angular - primeng 日历 - 以客户端时区显示

转载 作者:行者123 更新时间:2023-12-02 16:16:52 29 4
gpt4 key购买 nike

使用 p-calendar 日期时间选择器,如何显示客户端时区中 UTC 存储的日期?

我使用 onSelect 记录了该值,它显示了以下内容:

2017 年 12 月 4 日星期一 14:17:00 GMT-0500(东部标准时间)

然后,当我将值发送到数据库时,它会转换为 UTC,这完全没问题,但是,假设我刷新页面并在 p-calendar 元素中显示该值,它是显示 2017 年 12 月 4 日星期一 19:17:00 (UTC)。

我倒了the docs并没有发现任何提及时区的内容。它在选择时考虑时区,但在从存储加载时不考虑时区,这似乎很奇怪。

在我的 package.json 中,我选择 "primeng": "^4.3.0"

我正在创建的应用程序将在全局范围内使用,因此时间应始终以客户端的时区显示。

最佳答案

弄清楚了......还意识到我遗漏了一些涉及的细节。

使用 Typescript,相关字段的类型为日期。当提取映射到此字段时,它会实例化一个新的 Date 对象,该对象默认应用我的浏览器时区。很好的一个认识。因此,如果值是 Mon Dec 04 2017 14:17:00 (UTC),则由此创建的 Date 对象是 Mon Dec 04 2017 14:17:00 GMT-0500 > :没有时移,只是按原样获取值并应用我的时区。

因此,为了解决我的问题,我必须将日期值转移到一个新的 Date 实例,在该实例中我将时区明确设置为 UTC。 p-calendar 负责剩下的工作,并将其转换为我当前的时区以供显示。

关于angular - primeng 日历 - 以客户端时区显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47642291/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com