时间与时间戳的小问题

几点了?当有人问你的时候你的第一想法是什么,看手机或者找个钟表。告诉他是上午10点43分。这里我们说的时间是北京时间。但是在程序里我们说的时间是那个时间呢。所以我们要用一个更加准确的时间表达方式,于是,时间戳这个东西就出现了。时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。这是个好东西啊,有了它咱们就可以用一窜数字来表示时间。而且不用考虑什么一个月31天还是30天了。所以前端就有了new Date()这个好东西。SO,在括号里我们可以传时间戳和时间格式。传时间戳后返回的是一个标准的时间,可以getFullYear(),getMonth()(月份是0-11).....,但是传时间格式就有一点问题了。IE和Safari是一个阵营的,谷歌和火狐是一个阵营的。当

var timecenter=new Date(2017,01,15,08,0,0);
alert(timecenter)

浏览器的变现都是一致的。而当我们用另一种格式的时候就开始有错误了。

var timecenter=new Date(‘2017-02-15’);

alert(timecenter)

这是IE的弹出框。

这是火狐的弹出框(谷歌的相同)。

说明啥,IE和safari不支持这种时间格式。而且火狐和谷歌默认的是早上八点。而且我查阅了网上的格式,发现“2017-02-15”这种是没有的,也就是说这很可能是高级浏览器自己解析的行为,并不是JS的规定。所以以后大家还是按照JS的规定来写时间戳和时间格式,保准不会出错,你说呢?

posted @ 2017-02-15 16:49  程先生哈  阅读(822)  评论(0编辑  收藏  举报