跟我学习javascript的Date对象
本篇主要介绍Date日期和时间对象的操作。
1.介绍
1.1说明
Date对象,是操作日期和时间的对象。Date对象对日期和时间的操作只能通过方法。
1.2属性
无;
Date对象对日期和时间的操作只能通过方法。
2.构造函数
2.1newDate():返回当前的本地日期和时间
参数:无
返回值:
{Date}返回一个表示本地日期和时间的Date对象。
示例:
vardt=newDate(); console.log(dt);//=>返回一个表示本地日期和时间的Date对象
2.2newDate(milliseconds):把毫秒数转换为Date对象
参数:
①milliseconds{int}:毫秒数;表示从'1970/01/0100:00:00'为起点,开始叠加的毫秒数。
注意:起点的时分秒还要加上当前所在的时区,北京时间的时区为东8区,起点时间实际为:'1970/01/0108:00:00'
返回值:
{Date}返回一个叠加后的Date对象。
示例:
vardt=newDate(1000*60*1);//前进1分钟的毫秒数 console.log(dt);//=>{Date}:1970/01/0108:01:00 dt=newDate(-1000*60*1);//倒退1分钟的毫秒数 console.log(dt);//=>{Date}:1970/01/0107:59:00
2.3newDate(dateStr):把字符串转换为Date对象
参数:
①dateStr{string}:可转换为Date对象的字符串(可省略时间);字符串的格式主要有两种:
1)yyyy/MM/ddHH:mm:ss(推荐):若省略时间,返回的Date对象的时间为00:00:00。
2)yyyy-MM-ddHH:mm:ss:若省略时间,返回的Date对象的时间为08:00:00(加上本地时区)。若不省略时间,此字符串在IE中会转换失败!
返回值:
{Date}返回一个转换后的Date对象。
示例:
vardt=newDate('2014/12/25');//yyyy/MM/dd console.log(dt);//=>{Date}:2014/12/2500:00:00 dt=newDate('2014/12/2512:00:00');//yyyy/MM/ddHH:mm:ss console.log(dt);//=>{Date}:2014/12/2512:00:00 dt=newDate('2014-12-25');//yyyy-MM-dd console.log(dt);//=>{Date}:2014-12-2508:00:00(加上了东8区的时区) dt=newDate('2014-12-2512:00:00');//yyyy-MM-ddHH:mm:ss(注意:此转换方式在IE中会报错!) console.log(dt);//=>{Date}:2014-12-2512:00:00
2.4newDate(year,month,opt_day,opt_hours,opt_minutes,opt_seconds,opt_milliseconds):把年月日、时分秒转换为Date对象
参数:
①year{int}:年份;4位数字。如:1999、2014
②month{int}:月份;2位数字。从0开始计算,0表示1月份、11表示12月份。
③opt_day{int}可选:号;2位数字;从1开始计算,1表示1号。
④opt_hours{int}可选:时;2位数字;取值0~23。
⑤opt_minutes{int}可选:分;2位数字;取值0~59。
⑥opt_seconds{int}可选:秒;2未数字;取值0~59。
⑦opt_milliseconds{int}可选:毫秒;取值0~999。
返回值:
{Date}返回一个转换后的Date对象。
示例:
vardt=newDate(2014,11);//2014年12月(这里输入的月份数字为11) console.log(dt);//=>{Date}:2014/12/0100:00:00 dt=newDate(2014,11,25);//2014年12月25日 console.log(dt);//=>{Date}:2014/12/2500:00:00 dt=newDate(2014,11,25,15,30,40);//2014年12月25日15点30分40秒 console.log(dt);//=>{Date}:2014/12/2515:30:40 dt=newDate(2014,12,25);//2014年13月25日(这里输入的月份数字为12,表示第13个月,跳转到第二年的1月) console.log(dt);//=>{Date}:2015/01/25
3.实例方法
Date对象的实例方法主要分为2种形式:本地时间和UTC时间。同一个方法,一般都会有此2种时间格式操作(方法名带UTC的,就是操作UTC时间),这里主要介绍对本地时间的操作。
3.1get方法
- getFullYear():返回Date对象的年份值;4位年份。
- getMonth():返回Date对象的月份值。从0开始,所以真实月份=返回值+1。
- getDate():返回Date对象的月份中的日期值;值的范围1~31。
- getHours():返回Date对象的小时值。
- getMinutes():返回Date对象的分钟值。
- getSeconds():返回Date对象的秒数值。
- getMilliseconds():返回Date对象的毫秒值。
- getDay():返回Date对象的一周中的星期值;0为星期天,1为星期一、2为星期二,依此类推
- getTime():返回Date对象与'1970/01/0100:00:00'之间的毫秒值(北京时间的时区为东8区,起点时间实际为:'1970/01/0108:00:00')。
示例:
dt.getFullYear();//=>2014:年 dt.getMonth();//=>11:月;实际为12月份(月份从0开始计算) dt.getDate();//=>25:日 dt.getHours();//=>15:时 dt.getMinutes();//=>30:分 dt.getSeconds();//=>40:秒 dt.getMilliseconds();//=>333:毫秒 dt.getDay();//=>4:星期几的值 dt.getTime();//=>1419492640333:返回Date对象与'1970/01/0100:00:00'之间的毫秒值(北京时间的时区为东8区,起点时间实际为:'1970/01/0108:00:00')
3.2set方法
- setFullYear(year,opt_month,opt_date):设置Date对象的年份值;4位年份。
- setMonth(month,opt_date):设置Date对象的月份值。0表示1月,11表示12月。
- setDate(date):设置Date对象的月份中的日期值;值的范围1~31。
- setHours(hour,opt_min,opt_sec,opt_msec):设置Date对象的小时值。
- setMinutes(min,opt_sec,opt_msec):设置Date对象的分钟值。
- setSeconds(sec,opt_msec):设置Date对象的秒数值。
- setMilliseconds(msec):设置Date对象的毫秒值。
示例:
vardt=newDate(); dt.setFullYear(2014);//=>2014:年 dt.setMonth(11);//=>11:月;实际为12月份(月份从0开始计算) dt.setDate(25);//=>25:日 dt.setHours(15);//=>15:时 dt.setMinutes(30);//=>30:分 dt.setSeconds(40);//=>40:秒 dt.setMilliseconds(333);//=>333:毫秒 console.log(dt);//=>2014年12月25日15点30分40秒333毫秒
3.3其他方法
- toString():将Date转换为一个'年月日时分秒'字符串
- toLocaleString():将Date转换为一个'年月日时分秒'的本地格式字符串
- toDateString():将Date转换为一个'年月日'字符串
- toLocaleDateString():将Date转换为一个'年月日'的本地格式字符串
- toTimeString():将Date转换为一个'时分秒'字符串
- toLocaleTimeString():将Date转换为一个'时分秒'的本地格式字符串
valueOf():与getTime()一样,返回Date对象与'1970/01/0100:00:00'之间的毫秒值(北京时间的时区为东8区,起点时间实际为:'1970/01/0108:00:00')
示例:
vardt=newDate(); console.log(dt.toString());//=>TueDec23201422:56:11GMT+0800(中国标准时间):将Date转换为一个'年月日时分秒'字符串 console.log(dt.toLocaleString());//=>2014年12月23日下午10:56:11:将Date转换为一个'年月日时分秒'的本地格式字符串 console.log(dt.toDateString());//=>TueDec232014:将Date转换为一个'年月日'字符串 console.log(dt.toLocaleDateString());//=>2014年12月23日:将Date转换为一个'年月日'的本地格式字符串 console.log(dt.toTimeString());//=>22:56:11GMT+0800(中国标准时间):将Date转换为一个'时分秒'字符串 console.log(dt.toLocaleTimeString());//=>下午10:56:11:将Date转换为一个'时分秒'的本地格式字符串 console.log(dt.valueOf());//=>返回Date对象与'1970/01/0100:00:00'之间的毫秒值(北京时间的时区为东8区,起点时间实际为:'1970/01/0108:00:00')
4.静态方法
4.1Date.now()
说明:返回当前日期和时间的Date对象与'1970/01/0100:00:00'之间的毫秒值(北京时间的时区为东8区,起点时间实际为:'1970/01/0108:00:00')
参数:无
返回值:
{int}:当前时间与起始时间之间的毫秒数。
示例:
console.log(Date.now());//=>1419431519276
4.2Date.parse(dateStr)
说明:把字符串转换为Date对象,然后返回此Date对象与'1970/01/0100:00:00'之间的毫秒值(北京时间的时区为东8区,起点时间实际为:'1970/01/0108:00:00')
参数:
①dateStr{string}:可转换为Date对象的字符串(可省略时间);字符串的格式主要有两种:
1)yyyy/MM/ddHH:mm:ss(推荐):若省略时间,返回的Date对象的时间为00:00:00。
2)yyyy-MM-ddHH:mm:ss:若省略时间,返回的Date对象的时间为08:00:00(加上本地时区)。若不省略时间,此字符串在IE中返回NaN(非数字)!
返回值:
{int}返回转换后的Date对象与起始时间之间的毫秒数。
示例:
console.log(Date.parse('2014/12/2512:00:00'));//=>1419480000000 console.log(Date.parse('2014-12-2512:00:00'));//=>1419480000000(注意:此转换方式在IE中返回NaN!)
分享的两个案例:
点击查看:《javascript获取系统当前时间的方法》
点击查看:《javascript电商网站抢购倒计时效果实现》
以上就是本文的全部内容,希望通过这篇文章大家更加了解javascript的Date对象,大家共同进步。