js中的Date类型

js中的Date类型

1.创建日期对象的方式

var now=new Date();//不传入参数,自动获得当前的时间。

var date=new Date();//不传入参数,自动获得当前的时间。
console.log(date);//2018-09-17T09:03:50.584Z

如果想根据特定的日期和时间创建日期对象,必须传入表示该日期的毫秒数。

var date=new Date(1085414400000);
console.log(date);//2004-05-24T16:00:00.000Z

为了简化这一计算过程,ECMAScript提供了两个方法:Date.parse()和Date.UTC().

Date.parse()方法:接收一个表示日期的字符串参数。返回相应日期的毫秒数。需要特定的字符串格式。

console.log(Date.parse("May 25,2004"));//1085414400000
console.log(Date.parse("5/25/2004"));//1085414400000
console.log(Date.parse("2004年5月5日"));//NaN
var someDate=new Date(Date.parse("May 25,2004"));
console.log(someDate);//2004-05-24T16:00:00.000Z
var someDate=new Date(Date.parse("5/25/2004"));
console.log(someDate);//2004-05-24T16:00:00.000Z
var someDate=new Date(Date.parse("2004年5月5日"));
console.log(someDate);//Invalid Date

如果直接将表示日期的字符串传递给Date构造函数,也会在后台调用Date.parse().

var someDate=new Date("May 25,2004");
console.log(someDate);//2004-05-24T16:00:00.000Z

Date.UTC():接收的参数分别是年份、基于0的月份(一月是0,二月是1,以此类推)、月中的哪一天、小时数、分钟、秒以及毫秒数。在这些参数中,只有前两个参数(年和月)是必需的。如果没有提供月中的天数,则假设天数为1;如果省略其他参数,则统统假设为0。

var y2k=new Date(Date.UTC(2000,0));
console.log(y2k);//2000-01-01T00:00:00.000Z
var allFives=new Date(Date.UTC(2005,4,5,17,55,55));
console.log(allFives);//2005-05-05T17:55:55.000Z

Date构造函数也会模仿Date.UTC().

var y2k=new Date(2000,0);
console.log(y2k);//1999-12-31T16:00:00.000Z 不同之处在于日期是基于系统设置的本地时区创建的而非GMT来创建的
var allFives=new Date(2005,4,5,17,55,55);
console.log(allFives);//2005-05-05T09:55:55.000Z 不同之处在于日期是基于系统设置的本地时区创建的而非GMT来创建的

Date.now()方法:返回表示调用这个方法时的日期和时间的毫秒数。

在不支持它的浏览器中使用+操作符获取对象的时间戳,也可以达到同样的目的。


var date=Date.now();
console.log(date);//1537176238405
var date=+new Date();
console.log(date);//1537176305863

继承的方法

toLocaleString():按照与浏览器设置的地区相适应的格式返回日期和时间。

toString():返回带有时区信息的日期时间。

valueOf():返回日期的毫秒表示。

var date=new Date();
console.log(date);//2018-09-17T09:30:20.290Z
console.log(date.toLocaleString());//2018-9-17 17:29:59
console.log(date.toString());//Mon Sep 17 2018 17:31:28 GMT+0800 (中国标准时间)
console.log(date.valueOf());//1537176778529

可以使用比较操作符来比较日期值。

var date1=new Date(2007,0,1);
var date2=new Date(2007,1,1);
console.log(date1>date2);//false
console.log(date1<date2);//true

日期格式化方法

var date=new Date();
console.log(date);//2018-09-17T09:41:54.458Z
console.log(date.toDateString());//Mon Sep 17 2018
console.log(date.toTimeString());//17:39:37 GMT+0800 (中国标准时间)
console.log(date.toLocaleDateString());//2018-9-17
console.log(date.toLocaleTimeString());//17:40:46
console.log(date.toUTCString());//Mon, 17 Sep 2018 09:41:27 GMT

日期/时间组件化方法

getTime():返回日期的毫秒数

setTime():以;毫秒数设置日期,会改变整个日期

getFullYear():取得4位数年份

setFullYear():设置日期的年份

getMonth():取得日期中的月份,0表示1月

setMonth():设置日期中的月份,0表示1月,

getDate():返回日期月份中的天数,

setDate():设置日期月份中的天数,

getDay():返回日期中星期的星期几,0表示星期日,6表示星期六

getHours():返回日期中的小时数,0到23

setHours():设置日期中的小时数,0到23

getMinutes():返回日期中的分钟数,0到59

setMinutes():设置日期中的分钟数,0到59

getSeconds():返回日期中的秒数,0到59

setSeconds():设置日期中的秒数,0到59

getMilliseconds():返回日期中的毫秒数

setMilliseconds():设置日期中的毫秒数

console.log(date.getFullYear());//2018
date.setMonth(0);
console.log(date);//2018-01-17T10:34:34.816Z
console.log(date.getMilliseconds());//261
date.setMilliseconds(999);
console.log(date.getMilliseconds());//999

猜你喜欢

转载自blog.csdn.net/yangyuqingabc/article/details/82747167
今日推荐