簡體   English   中英

Date.getTimezoneOffset返回非整數值

[英]Date.getTimezoneOffset returns a non integer value

我的代碼中的以下行:

var timezoneoffset = new Date().getTimezoneOffset();

返回-120.14933013916015。

我期望返回值將是120,並且通常,該值始終是整數。

有誰能解釋一下? 現在看起來我需要對結果執行循環操作。

我已經嘗試了我能想到的一切,並且無法重現您報告的問題。

我唯一能想到的是你的代碼中的其他東西正在修改Date原型。 也許您正在使用一些您沒有告訴我們的日期/時間庫?

請嘗試在干凈的空控制台中重現問題。

  • 在URL欄中鍵入about:blank
  • 按F12鍵顯示開發人員工具
  • 轉到“控制台”選項卡
  • 在控制台中鍵入new Date().getTimezoneOffset()

它是否仍顯示小數?

  • 如果是,則IE或Windows中存在錯誤
  • 如果不是,那么你的其他代碼中的某些內容就會破壞Date原型。
var timezoneoffset        = new Date().getTimezoneOffset();
var timezoneoffsetinteger = parseInt(timezoneoffset);

變量time timezoneoffsetinteger將等於-120作為整數。 我想你是GMT + 2?

如果您希望GMT +為正面而GMT為負面 - 那么您需要這樣做:

var timezoneoffsetconvert = timezoneoffsetinteger * (-2) / 2

這將返回(對於GMT + 2(-120))120

時區偏移是與UTC和本地時間不同的結果,此值表示分鍾,如果值為負,則偏移量在UTC之前,考慮到這一簡單的代碼行可以為您提供偏移量像傳統的小時代表。

var offset = (new Date().getTimezoneOffset()/-60);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM