hechengjin 发表于 2016-6-16 15:02:49

日期时间

本帖最后由 hechengjin 于 2016-6-16 17:31 编辑

CMAScript提供了Date类型来处理时间和日期。Date类型使用UTC (Coordinated Universal Time,国际协调时间[又称世界统一时间]) 1970年1月1日午夜(零时)开始经过的毫秒来保存日期。在使用这种数据存储格式的条件下,Date类型保存的日期能够精确到1970年1月1日之前或之后的285616年。

ECMAScript提供了两个方法,Date.parse()和Date.UTC()。Date.parse()方法接收一个表示日期的字符串参数,然后尝试根据这个字符串返回相应的毫秒数。ECMA-262没有定义Date.parse()应该支持哪种日期格式,因此方法的行为因实现而异,因地区而异。默认通常接收的日期格式如下:1.'月/日/年',如6/13/2011;alert(Date.parse('6/13/2011'));                        //13078944000002.'英文月名 日, 年',如 May 25, 2004;3.'英文星期几 英文月名 日 年 时:分:秒 时区',如 Tue May 25 2004 00:00:00 GMT-070如果Date.parse()没有传入或者不是标准的日期格式,那么就会返回NaN。alert(Date.parse());                                                //NaN

alert(new Date(1466059693000));               var box = new Date(1466059693000);      //把毫秒数转换成看的懂的时间alert(box)//Thu Jun 16 2016 14:48:13 GMT+0800 (中国标准时间)alert(box.toLocaleString())//2016/6/16 下午2:48:13alert(box.toString()) //Thu Jun 16 2016 14:48:13 GMT+0800 (中国标准时间)alert(box.valueOf())//1466059693000
alert(box.toDateString());         //Thu Jun 16 2016                        //以特定的格式显示星期几、月、日和年alert(box.toTimeString());      //14:48:13 GMT+0800 (中国标准时间)                        //以特定的格式显示时、分、秒和时区alert(box.toLocaleDateString());//2016/6/16                        //以特定地区格式显示星期几、月、日和年alert(box.toLocaleTimeString()); //下午2:48:13                //以特定地区格式显示时、分、秒和时区alert(box.toUTCString());//Thu, 16 Jun 2016 06:48:13 GMT                        //以特定的格式显示完整的UTC日期。
//转为标准时间
var box = new Date(1466035200000);                //直接放日期的毫秒数也是可以的。
alert(box.toUTCString()); //Thu, 16 Jun 2016 00:00:00 GMT
alert(box.toGMTString()); //Thu, 16 Jun 2016 00:00:00 GMT


alert(box.toLocaleString()) //2016/6/16 上午8:00:00    //即 UTC时间0点,为本地时间8点

去掉时区影响
var d = new Date(1466035200000);                //直接放日期的毫秒数也是可以的。
var localTime = d.getTime();
var localOffset=d.getTimezoneOffset()*60000; //获得当地时间偏移的毫秒数
var utc = localTime + localOffset; //utc即GMT时间
var offset =8; //以北京时间为例,东8区
var beijin = utc + (3600000*offset);
var nd = new Date(beijin);
alert(nd.toLocaleString())//2016/6/16 上午8:00:00

页: [1]
查看完整版本: 日期时间