在node代碼中測試, 效果如下:
> var now = new Date(); undefined > now; 2019-10-17T06:10:47.919Z > now.toLocaleString(); '2019/10/17 下午2:10:47'
如果在express的res.send中直接將這個Date對象返回, Date對象會自動轉化為字符串 2019-10-17T06:10:47.919Z , 初看下去發現時間與本地時間差了8小時, 其實, 這並不是問題.
這個時間字符串中的T和Z, 表示這是一個ISOString, 接收這個字符串時, 只需要在js中將整個字符串作為參數, 構造新的Date對象, 差的8小時就回來了.
下面是chrome的控制台中測試結果:
> new Date('2019-10-17T06:10:47.919Z') < Thu Oct 17 2019 14:10:47 GMT+0800 (中國標准時間) > new Date() < Thu Oct 17 2019 14:17:29 GMT+0800 (中國標准時間)
