JS 中Date类型,以及关于Date类型在项目中的具体用法

首先,要知道Date日期格式对象行为,是根据你浏览器地区返回的。
你在中国或者美国返回的格式不一样
Date.parse() 与 Date.UTC()的区别在于:
支持的格式不同
parse()方法支持字符串格式然后解析为日期对象,如果格式不正确返回NAN
具体格式书中提到的是美国的格式,中国格式不一样
UTC()方法支持的参数格式是 年,月,日,时,分,秒
月份从0开始计数
前2个参数必选之后不选默认为0,天数默认为1

  1. 返回的日期时间相差8小时

例如:
parse()接受字符串参数区别

new Date(Date.parse('2016-8-12'));
// Fri Aug 12 2016 00:00:00 GMT+0800 (中国标准时间)

new Date(Date.parse('2016-08-12'));//月份前多加一个0  发现这里已经多了8小时的时差
//因为这里也是UTC格式
// Fri Aug 12 2016 08:00:00 GMT+0800 (中国标准时间) 

UTC则是

new Date(Date.UTC(2016,7,12));
//Fri Aug 12 2016 08:00:00 GMT+0800 (中国标准时间) //多了8小时的时差

也就是说UTC格式多8个小时的时差

然而在自己的项目中的情况是,由于之前公司是做航空旅游B2B的项目。所以对于日期很看重,不然买错飞机票,那就尴尬了。
由于之前遇到过8小时时差问题和ISO 8601扩展格式 前后端处理很麻烦,(可能经验不足,没找到更好的办法还有懒),对于格式全部通过后端处理比较严格,在传到前端使用 时间搓来处理。

这只是自己在做项目遇到的问题,可能对你没有什么帮助。仅供参考

你可能感兴趣的:(JS 中Date类型,以及关于Date类型在项目中的具体用法)