您当前的位置: 首页 > 学无止境 > JS经典实例 网站首页JS经典实例
javascript学习笔记-时间与日期
发布时间:2018-04-05 17:43:51编辑:雪饮阅读()
时间保存的范围可以精确在1970年1月1日之前或之后的285616年
使用new Date可以创建时间对象
默认输出格式是按照东8区的一个时间字符串,因浏览器不同,该字符串也有所差异
该对象的构造函数默认不传参则输出当前时间的东8区时间字符串。
var box=new Date();
alert(box);
ECMAScript提供了两个方法,Date.parse()和Date.UTC()。Date.parse()方法接收一个表示日期的字符串参数,然后尝试根据这个字符串返回响应的毫秒数。ECMA-262没有定义Date.parse()应该支持哪种日期格式,因此方法的行为因实现而异,因地区(时区)而异。默认通常接收的日期格式如下:
1、’月/日/年’,如6/13/2011
var box=new Date(Date.parse('6/13/2011'));
alert(box);
2、’英文月名 日,年’,如 May 25,2004
var box=new Date(Date.parse('May 25,2004'));
alert(box);
3、’英文星期几 英文月名 日 年 时:分:秒 时区’,如 Tue May 25 2004 00:00:00 GMT-070
var box=new Date(Date.parse('Tue May 25 2004 00:00:00 GMT-070'));
alert(box);
将时间戳转换为时间字符串
var box=new Date(Date.parse('4/12/2007'));
alert(box);
也可以不用Date.parse,相当于自动调用了Date.parse()
var box=new Date('4/12/2007');
alert(box);
所以这里可以直接放毫秒,但是一定不是字符串形式的毫秒
var box=new Date(1176307200000);
alert(box);
UTC函数可以将时间转换为毫秒数。
必须传入年份和月份,不传,就各种错误,负数、NaN
alert(Date.UTC());
返回毫秒数
alert(Date.UTC(2007,10));
UTC世界协调时间,他会按照他的区域(时区)基准来计算,所以输出的时间和你本地认知有误差
var box=new Date(Date.UTC(2007,10,15,17,22,45,15));
alert(box);
如果不加Date.UTC,那么就会返回本地认知的时间
var box=new Date(2007,10,15,17,22,45,15);
alert(box);
通用方法
var box=new Date(2007,10,15,17,22,45,15);
//默认调用为toString
alert(box);
alert("toString:"+box.toString());
//返回毫秒
alert("valueOf:"+box.valueOf());
//返回本地时间格式字符串
alert("toLocaleString:"+box.toLocaleString())
日期格式化方法
var box=new Date(2007,10,15,17,22,45,15);
//只显示日期的字符串
alert("toDateString:"+box.toDateString());
//只显示时间的字符串
alert("toTimeString:"+box.toTimeString());
//只返回本地时间格式的日期字符串
alert("toLocaleDateString:"+box.toLocaleDateString());
//只返回本地时间格式的时间字符串
alert("toLocaleTimeString:"+box.toLocaleTimeString());
//返回utc时间格式字符串
alert("toUTCString:"+box.toUTCString());
组件方法
alert(box.getTime()); //获取日期的毫秒数,和 valueOf()返回一致
alert(box.setTime(100)); //以毫秒数设置日期,会改变整个日期
alert(box.getFullYear()); //获取四位年份 alert(box.setFullYear(2012)); //设置四位年份,返回的是毫秒数
alert(box.getMonth()); //获取月份,没指定月份,从 0 开始算起
alert(box.setMonth(11)); //设置月份
alert(box.getDate()); //获取日期
alert(box.setDate(8)); //设置日期,返回毫秒数
alert(box.getDay()); //返回星期几,0 表示星期日,6 表示星期六
alert(box.setDay(2)); //设置星期几
alert(box.getHours()); //返回时
alert(box.setHours(12)); //设置时
alert(box.getMinutes()); //返回分钟
alert(box.setMinutes(22)); //设置分钟
alert(box.getSeconds()); //返回秒数
alert(box.setSeconds(44)); //设置秒数
alert(box.getMilliseconds()); //返回毫秒数
alert(box.setMilliseconds()); //设置毫秒数
alert(box.getTimezoneOffset()); //返回本地时间和 UTC 时间相差的分钟数
实例:
var box=new Date();
//当前时间与utc时间有8个小时的差距
alert(box.getUTCHours());
//获取当前时区下的当前时间与utc时间所差的分钟数
alert(box.getTimezoneOffset());
PS:以上方法除了 getTimezoneOffset(),其他都具有 UTC 功能,例如 setDate()及 getDate() 获取星期几,那么就会有 setUTCDate()及 getUTCDate()。表示世界协调时间。
关键字词:javascript,时间,日期