我們在開發(fā)過程中,常常需要將Date類型轉(zhuǎn)化成JSON格式,以便于在前端進行數(shù)據(jù)傳輸和處理。但是有時候我們會發(fā)現(xiàn),經(jīng)過轉(zhuǎn)換后,Date時間類型被轉(zhuǎn)化成了長整型。
{ "date": 1631237436312 }
這是為什么呢?原來,JSON格式中只支持基本數(shù)據(jù)類型和一些容器類型如Array和Object,而Date類型并不在其中。
因此,當我們將Date類型轉(zhuǎn)化成JSON格式時,實際上是將其轉(zhuǎn)化成一個長整型的時間戳。
var date = new Date(); var json = JSON.stringify({"date": date}); console.log(json); //輸出{"date":1631237436312}
那么在數(shù)據(jù)傳輸和處理中,我們可以通過將長整型時間戳轉(zhuǎn)化成Date類型,再進行操作。
var json = {"date": 1631237436312}; var date = new Date(json.date); console.log(date); //輸出Wed Sep 08 2021 15:17:16 GMT+0800 (中國標準時間)
綜上所述,當我們將Date類型轉(zhuǎn)化成JSON格式時,輸出結(jié)果會變成長整型時間戳。因此在前端操作中,需要進行反向操作,即將長整型時間戳再轉(zhuǎn)化成Date類型進行操作。