首页  >  文章  >  web前端  >  如何在 JavaScript 中解析没有时区的日期?

如何在 JavaScript 中解析没有时区的日期?

Susan Sarandon
Susan Sarandon原创
2024-10-25 16:03:02651浏览

How to Parse a Date Without a Timezone in JavaScript?

如何在 JavaScript 中解析没有时区的日期

在 JavaScript 中解析没有时区的日期可能具有挑战性。诸如:

<code class="javascript">new Date(Date.parse("2005-07-08T00:00:00+0000"));
new Date(Date.parse("2005-07-08 00:00:00 GMT+0000"));
new Date(Date.parse("2005-07-08 00:00:00 GMT-0000"));</code>

之类的尝试都会返回一个带有中欧夏令时间 (GMT 0200) 偏移量的日期。这是因为 JavaScript 将没有时区的日期解释为本地时区。

要解析没有时区且不使用构造函数的日期,可以使用以下技术:

<code class="javascript">var date = new Date('2016-08-25T00:00:00');
var userTimezoneOffset = date.getTimezoneOffset() * 60000;
var utcDate = new Date(date.getTime() + userTimezoneOffset);</code>

getTimezoneOffset() 方法返回用户的时区偏移量(以分钟为单位)。将此值乘以 60000 会将其转换为毫秒,可以将其添加到日期的 getTime() 值中以创建 UTC Date 对象。

此技术适用于所有时区,并且可用于在没有构造函数的情况下解析日期或原型方法。

以上是如何在 JavaScript 中解析没有时区的日期?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn