在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 (中国标准时间)