如何解决如何在javascript lwc中停止对新日期对象的时区转换?
我收到具有不同时区的日期时间字符串(例如'2020-10-28T08:00:00 + 10:00,2020-10-28T11:00:00 + 11:00')。当我创建新的日期对象时,它将字符串转换为当前的用户时区,在UI上显示不同的日期和时间,而不是显示正在接收的内容。如何停止时区转换?
解决方法
如果LWC使用JavaScript Date
对象,那么抱歉-但您无能为力。您描述的行为是Date
对象的工作方式。
Date
对象内部仅跟踪一个时间戳,该时间戳是自Unix时代1970-01-01T00:00:00.000Z(UTC)以来的毫秒数。如果您解析带有偏移量的字符串,则在确定时间戳记时会考虑该偏移量。如果使用toString()
创建字符串,它将使用系统本地时区将时间戳转换为字符串。您解析的原始字符串或其偏移量不会保留在Date
对象中。
我对LWC不太了解,但总的来说,您只能通过{em> not 使用Date
对象并使用其他方法来解决此问题。有很多不错的JavaScript日期库可供选择,例如Luxon。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。