在 JavaScript 中解析沒有時區的日期
在 JavaScript 中解析沒有指定時區的日期可能具有挑戰性。 Date.parse() 函數假定本地時區,這可能會導致錯誤的結果,這取決於使用者目前的位置。
問題:
說明問題,請考慮以下嘗試解析不帶時區的日期:
<code class="javascript">new Date(Date.parse("2005-07-08T00:00:00+0000")); // Fri Jul 08 2005 02:00:00 GMT+0200 new Date(Date.parse("2005-07-08 00:00:00 GMT+0000")); // Fri Jul 08 2005 02:00:00 GMT+0200 new Date(Date.parse("2005-07-08 00:00:00 GMT-0000")); // Fri Jul 08 2005 02:00:00 GMT+0200</code>
無論指定的時區如何,所有指定的時區如何,所有嘗試都會傳回相同的結果。
解:
要解析沒有時區的日期,可以使用以下步驟:
<code class="javascript">var date = new Date('2016-08-25T00:00:00') var userTimezoneOffset = date.getTimezoneOffset() * 60000; var parsedDate = new Date(date.getTime() + userTimezoneOffset);</code>
getTimezoneOffset() 函數傳回正值或負值,需要減去該值以確保日期調整準確。
以上是如何在沒有時區的情況下解析 JavaScript 中的日期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!