JavaScript:时间与日期

时间:2021-10-02 20:17:05
//创建一个日期对象,使用 new 运算符和 Date 构造方法(构造函数)即可。

var box = new Date(); //创建一个日期对象
alert(box);

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

alert(Date.parse('6/13/2011')); //1307894400000
//如果 Date.parse()没有传入或者不是标准的日期格式,那么就会返回 NaN。
alert(Date.parse()); //NaN
//如果想输出指定的日期,那么把 Date.parse()传入 Date 构造方法里。
var box = new Date(Date.parse('6/13/2011'));//MonJun13201100:00:00GMT+0800
alert(box);
var box = new Date('6/13/2011'); //直接传入,Date.parse()后台被调用
alert(box);

alert(Date.UTC(2011,11)); //1322697600000
//如果 Date.UTC()参数传递错误,那么就会出现负值或者 NaN 等非法信息。
alert(Date.UTC()); //负值或者 NaN
//如果要输出指定日期,那么直接把 Date.UTC()传入 Date 构造方法里即可。
var box = new Date(Date.UTC(2011,11,5,15,13,16));
alert(box);


/*
通用的方法
与其他类型一样,Date 类型也重写了 toLocaleString()、toString()和 valueOf()方法;
但这 些方法返回值与其他类型中的方法不同。
*/



var box = new Date(Date.UTC(2011,11,5,15,13,16));
alert('toString:'+box.toString()); //toString:Mon Dec 05 2011 23:13:16 GMT+0800
alert('toLocaleString:'+box.toLocaleString()); //按本地格式输出


/*
组件方法
组件方法,是为我们单独获取你想要的各种时间/日期而提供的方法。
需要注意的时候, 这些方法中,有带 UTC 的,有不带 UTC 的。
UTC 日期指的是在没有时区偏差的情况下的 日期值。
*/

var box = new Date();
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 时间相差的分钟数