获取某个月份的天数
相信大家读小学的时候就知道一年十二个月各有多少天了,这里面有个特殊的存在——2月。闰年的2月有29天,非闰年的2月只有28天。估计不少人跟我一样,已经不记得闰年的规则了,这时候,下面的这个方法就派上用场了。
var date = new Date(2013, 2, 0); date.getDate(); // 28 date = new Date(2012, 2, 0); date.getDate(); // 29
同样的,我们也可以通过这个方法判断某年是否闰年:
function isLeapYear(year) { return new Date(year, 2, 0).getDate() === 29; } isLeapYear(2012); // true
日期类型的 getTimezoneOffset() 方法可以获取格林威治时间和本地时间之间的时间差,以分钟为单位。例如:
var date = new Date(); var timezoneOffset = date.getTimezoneOffset(); // 中国(东八区)为-480 -timezoneOffset / 60; // 8
除此以外,还有一个方法。调用日期类型的 toString() 后,可以得到一段固定格式的日期字符串:
new Date().toString(); // Sun Mar 10 2013 16:41:12 GMT+0800 (中国标准时间)
/GMT([+-]\d+)/.test( new Date().toString() ); var timezone = RegExp.$1; // +0800
计算运行时间
如何测量某段程序的执行时间呢?方法很简单,在执行前记录一次时间,执行后用当前时间减去执行前的时间,就得到结果了:
var startTime = new Date(); // some program console.log(new Date() - startTime);
删除cookie
准确地说,我们没法直接通过Javascript删除cookie。要想把某个cookie从这个世界抹杀掉,唯一的办法就是让它过期,这样浏览器的内建机制就会把它自动干掉。
而要让cookie过期,最直截了当的方法就是把它的过期时间设为最小值。Javascript里面能表示的最小日期就是1970年1月1日0时0点0分,通过 new Date(0) 就可以创建出这样一个日期对象:
var cookieName = 'name'; // cookie名 document.cookie = cookieName + '=' + '; expires=' + new Date(0).toUTCString();