服務器端是C#語言,它以json格式回傳物件陣列串列。在物件模型中有一個欄位,它是DateTime型別,其值是DateTime.MinValue。
而在頁面中,它收到了字串中的/Date(-62135596800000)/。我猜這是由于物件被序列化了。在javascirpt中,我試圖將其轉換為Date型別。
var timeSpan = element. DateModify.replace('Date',' ')。 replace('(','') 。 replace(')','') 。 replace(//g,'') 。
console.log(timeSpan)。
var d = new Date(parseInt(timeSpan))。
console.log(d)。
在javascript中轉換為Date時,其值是0001-01-01 08:05:43,而不是0001-01-01 00:00:00。為什么會這樣呢?
uj5u.com熱心網友回復:
DateTime.MinValue是0001-01-01 00:00:00 UTC。而這確實是您當地時區的0001-01-01 08:05:43(不管是什么時區,可能是亞洲/上海或附近的地方)。當你console.log一個Date時,它顯示你當地時區的日期。Date value 是正確的。它只是以一種不同的格式顯示。
額外的5分43秒是因為在公元1年,時區還沒有標準化,并且在您的位置,本地平均時間偏移為 08:05:43。
有兩種簡單的方法可以使它顯示00:00:00的UTC時間,即呼叫toISOString或toUTCString:
console. log(new Date(-62135596800000).toISOString()
console.log(new Date(-62135596800000) 。 toUTCString());
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/328883.html
標籤:
