Maison > interface Web > js tutoriel > le corps du texte

Introduction détaillée aux méthodes d'opération de date JavaScript

黄舟
Libérer: 2017-03-15 14:37:42
original
1507 Les gens l'ont consulté

日期操作在JavaScript开发中经常会遇到,尤其是对初学者来说,JavaScript的日期操作比较繁琐,但是必须掌握常用的日期操作方法,本文就简单介绍一下JavaScript操作日期类型的常用方法,希望能给你有所帮助。

获取某个月份的天数

相信大家读小学的时候就知道一年十二个月各有多少天了,这里面有个特殊的存在——2月。闰年的2月有29天,非闰年的2月只有28天。估计不少人跟我一样,已经不记得闰年的规则了,这时候,下面的这个方法就派上用场了。

var date = new Date(2013, 2, 0);
date.getDate();  // 28
date = new Date(2012, 2, 0);
date.getDate();  // 29
Copier après la connexion

创建Date对象时可以传入三个参数,分别是年、月(0~11,0表示一月)、日,如果日的参数为0,那创建出来的对象表示的就是上个月的最后一天,如此就可以知道上个月有多少天了。

同样的,我们也可以通过这个方法判断某年是否闰年:

function isLeapYear(year) {
    return new Date(year, 2, 0).getDate() === 29;
}
isLeapYear(2012);  // true
Copier après la connexion

获取时区

日期类型的 getTimezoneOffset() 方法可以获取格林威治时间和本地时间之间的时间差,以分钟为单位。例如:

var date = new Date();
var timezoneOffset = date.getTimezoneOffset(); // 中国(东八区)为-480
-timezoneOffset / 60;  // 8
Copier après la connexion

把获取到的时间差除以60,再取负值就是所在的时区了。

除此以外,还有一个方法。调用日期类型的 toString() 后,可以得到一段固定格式的日期字符串

new Date().toString(); // Sun Mar 10 2013 16:41:12 GMT+0800 (中国标准时间)
Copier après la connexion

显而易见,GMT后面的+800就是我们要的时区了,只要通过正则表达式匹配一下就可以拿到该值。

/GMT([+-]\d+)/.test( new Date().toString() );
var timezone = RegExp.$1;  // +0800
Copier après la connexion

不过此时的 timezone 变量是字符串,如果要转成数字类型,还要进行一些处理。

计算运行时间

如何测量某段程序的执行时间呢?方法很简单,在执行前记录一次时间,执行后用当前时间减去执行前的时间,就得到结果了:

var startTime = new Date();
// some program
console.log(new Date() - startTime);
Copier après la connexion

这里无需手动把日期转换为数字,因为进行减法运算的时候自然会强制转换。这样算出来的结果是毫秒级的,精度不是很够,不过对浏览器端的Javascript来说,也没必要纠结于1毫秒以内的消耗了。

删除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();
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal