2016-12-01 111 views
0

有沒有辦法在angular jsjavascript中做到這一點?獲得一個不取決於PC本地日期的時間?我能想到的唯一解決方案我可以想到的是不斷向後端發出請求,以便使用服務器的時間而不是客戶端本地時間,但這不是一個真正的解決方案,因爲它需要不斷髮出請求,顯然很糟糕,因爲這是一種暴力方法,由於請求顯然有延遲,因此並不真正產生期望的結果。在angularjs中獲取全球(UTC或GMT)時間,而不是當地時間

+0

ECMA-262不指定日期和時間值的來源,因此它們可以來自任何地方。但是,它們很可能來自當前的系統設置,因此'new Date()'將基於主機所說的當前日期,時間和時區偏移量。主機可以使用時間服務器,或者只是用戶設置的時間服務器。我經常更改測試設置,但不一定準確。 – RobG

回答

0

調用不帶參數的Date構造函數將創建一個對象,該對象包含被調用時的時間和日期,並且包含計算UTC時間所需的所有信息。然後,只需選擇將輸出UTC時間而不是本地時間的方法即可。例如:

<!DOCTYPE html> 
<html> 
<body> 
    <h1>Display present UTC time</h1> 
    <script> 
     var d = new Date(); 
     document.writeln(d.toUTCString()); 
    </script> 
</body> 
</html> 
0
//converts local time to UTC (Universal Time) 
function toUTC(/*Date*/date) { 
    return Date.UTC(
     date.getFullYear() 
     , date.getMonth() 
     , date.getDate() 
     , date.getHours() 
     , date.getMinutes() 
     , date.getSeconds() 
     , date.getMilliseconds() 
    ); 
} //toUTC() 

此功能將給予你的Unix紀元蜱UTC(感謝:http://blog.davidjs.com/2011/05/convert-local-time-to-utc-time-in-javascript/

如果您需要在用戶友好的方式來顯示這個請參考參考:http://www.w3schools.com/jsref/jsref_obj_date.asp

好運氣!

+0

這將當地日期看作是UTC,這似乎不是一個好主意。對於不同偏移量的每個時區,它會在同一時刻產生不同的結果。我不認爲它回答OP,這似乎是在問如何從主機獲取準確的日期和時間。 – RobG

相關問題