原文出处:https://blog.csdn.net/youyudexiaowangzi/article/details/88866146
T 表示后面开始的是time
Z 表示时区0
2019-03-28T12:02:00Z 表示的时格林尼治时间
2019-03-28T12:02:00 表示的时当前时区的这个时间
// 无Z, 当前时区时间
var a = new Date('2019-03-28T12:02:00')
console.log(a)
Thu Mar 28 2019 12: 02: 00 GMT + 0800(中国标准时间)
// 有Z, 格林尼治时间
var a = new Date('2019-03-28T12:02:00Z')
console.log(a)
Thu Mar 28 2019 20: 02: 00 GMT + 0800(中国标准时间)
如上,两个一样的时间,只是后面加了一个Z就导致了8个小时的时差
T表示后面开始的是time,跟空格一样
var a = new Date('2019-03-28T12:02:00Z')
console.log(a)
Thu Mar 28 2019 20: 02: 00 GMT + 0800(中国标准时间)
var a = new Date('2019-03-28 12:02:00Z')
console.log(a)
Thu Mar 28 2019 20: 02: 00 GMT + 0800(中国标准时间)
如上, 两个一样的时间,虽然后面加了一个T, 但生成的时间是一样,即"T" 跟空格是一样的。
【结论】
1、Z 表示时区0,转换成进间时会加上时区 ;
2、T 是日期与时间的分隔符,与空格一样,并无区别;
3、在Safari(苹果浏览器)中使用时注意,如果时间字符串中“有Z必须有T”,否则视为无效时间, Android即无这个问题;