如何解决Javascript Date.parse如何处理UTC格式的时区?
为了管理使用React native开发的移动应用程序的不同时区的日期,我的API存储在数据库中并以UTC格式返回日期,例如:2020-09-06T11:07:12.647084Z
我认为我有一个特定的过程,可以通过React Native Localize软件包和rnlocalize.getTimeZone()
方法将自己的手机所在的时区发送给API,以便API可以轻松处理日期,但是我意识到只需传递使用本机Javascript中的Date对象的parse方法使用UTC格式的date完全可以神奇地处理不同的时区。
因此,由于我不喜欢魔术,所以我想知道Javascript如何检测手机的时区以及以下代码在内部的实际工作方式:
Date.parse("2020-09-06T11:07:12.647084Z")
使用此代码,如果我将手机时区更改为America / New_York或Europe / Brussel,则该日期每次都有效,并且对于创建的同一主题,无论时区如何,它都会告诉我“ 4分钟前”
如果Javascript管理时区,那么使用React Native Localize有什么意义呢?更重要的是,哪个更可靠?
解决方法
Date.parse
的行为有些不一致(请参见第二段here),因为实现方式有所不同。如果您使用所有受支持的浏览器以及可能存储的所有日期格式进行了全面测试,则可以在此处使用。本机功能的优点是它不需要任何其他脚本。
该库的最大优点是它将为您处理不一致的情况。看起来本地化库还具有许多其他有用的功能,您的应用程序可能需要也可能不需要。使用该库将有助于以一种更加独立于浏览器的方式维护行为,但是它确实需要其他脚本。
我的建议是使用该库。这将使您的网站工作更加一致,并且(不知道您的应用程序正在做的一切)我不希望下载额外的脚本很明显。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。