创建日期对象
在javascript中,可以使用Date()构造函数来创建日期对象,如:
var date=new Date();
当没有向构造函数传递日期参数时,将创建一个拥有当前日期和时间的对象。
当然,如果想根据特定的日期和时间创建日期对象,也是可以的,只需要将能表示日期的参数传入构造函数即可。
Date()构造函数能够接受的常用的日期格式有:
- ”月/日/年“,如2/27/2014;
- ”英文月名 日,年“,如February 27,2014;
- ”年,月,日,时,分,秒,毫秒“,如2014,1,27,11,22,22
下面分别以上面的格式来创建一个日期对象:
var date1=new Date("2/27/2014");
alert(date1); //Thu Feb 27 2014 00:00:00 GMT+0800
var date2=new Date("February 27,2014");
alert(date2); //Thu Feb 27 2014 00:00:00 GMT+0800
var date3=new Date(2014,1,27,11,24,0);
alert(date3); //Thu Feb 27 2014 11:24:00 GMT+0800
var date4=new Date(2014,1,27);
alert(date4); //Thu Feb 27 2014 00:00:00 GMT+0800
var date5=new Date("2014,1,27,11,24,0");
alert(date5); //Invalid Date
通过上面的例子,大家可能会注意到它们之间的区别:
第一,用前面两种方式创建日期对象时,必须以字符串的形式作为参数传入;而使用第三种方式创建时不能以字符串的形式传入,每个值都得当做单独的值传入。
第二,有一点必须特别注意,用第三种方式创建日期时,它的月份是从0开始的,即一月份对应的是0,依次类推;而前面两种方法,是正常的月份表示,即二月对应的就是2。
第三,使用第三种方式表示时,年月是必须的,而其他参数省略时,将以0表示。
注:前面两种方式与显示的调用Date.parse()方法将得到一致的结果;第三种方式与显示的调用Date.UTC()方法得到的结果一致。
继承的方法
Date类型也继承有toString()、toLocaleString()和valueOf()方法。调用这些方法所得到的值的格式会因为浏览器的不同而不同。具体的,自己可以尝试调用下。
日期格式化方法
Date类型还有一些专门用于将日期格式化为字符串的方法,如下:
- toDateString()——以特定与实现的格式显示星期几、月、日、年;
- toTimeString()——以特定于实现的格式显示时、分、秒、时区;
- toLocaleDateString()——以特定于地区的格式显示星期几、月、日、年;
- toLocaleTimeString()——以特定于现实的格式显示时、分、秒;
- toUTCString()——以特定于显示的格式显示完整的UTC日期
上述方法可能相对不经常使用,所以不深入介绍。
日期/时间组件方法
方法 | 说明 |
---|---|
getTime() | 返回表示日期的毫秒数 |
setTime(毫秒) | 以毫秒数设置日期 |
getFullYear() | 返回四位数年份 |
getUTCFullYear() | 返回UTC日期的四位数年份 |
setFullYear(年) | 设置日期年份,参数必须是表示年份的4位数字 |
setUTCFullYear(年) | 设置UTC日期年份,参数必须是表示年份的4位数字 |
getMonth() | 返回日期中的月份,0~11 |
getUTCMonth() | 返回UCT日期中的月份,0~11 |
setMonth(月) | 设置日期的月份。如果超过11,则增加年份。 |
setUTCMonth(月) | 设置UTC日期的月份。如果超过11,则增加年份。 |
getDate() | 返回日期月份中的天数,1~31 |
getUTCDate() | 返回UTC日期月份中的天数,1~31 |
setDate(日) | 设置日期月份中的天数。如果值超出该月应有的天数,则增加月份。 |
setUTCDate(日) | 设置UTC日期月份中的天数。如果值超出该月应有的天数,则增加月份。 |
getDay() | 返回日期中的星期几,0表示星期天,6表示星期六 |
getUTCDay() | 返回UTC日期中的星期几,0表示星期天,6表示星期六 |
getHours() | 返回日期中的小时数,0~23 |
getUTCHours() | 返回UTC日期中的小时数,0~23 |
setHours(时) | 设置日期中的小时数,传入值超过23,则增加天数 |
setUTCHours(时) | 设置UTC日期中的小时数,传入值超过23,则增加天数 |
getMinutes() | 返回日期中的分钟数,0~59 |
getUTCMinutes() | 返回UTC日期中的分钟数,0~59 |
setMinutes(分) | 设置日期中的分钟数,传入的值超过59,则增加小时数 |
setUTCMinutes(分) | 设置UTC日期中的分钟数,传入的值超过59,则增加小时数 |
getSeconds() | 返回日期中的秒数,0~59 |
getUTCSeconds() | 返回UTC日期中的秒数,0~59 |
setSeconds(秒) | 设置日期中的毫秒数,传入值超过59,则增加分钟数 |
setUTCSeconds(秒) | 设置UTC日期中的毫秒数,传入值超过59,则增加分钟数 |
getMillseconds() | 返回日期中的毫秒数 |
getUTCMillseconds() | 返回UTC日期中的毫秒数 |
setMillseconds(毫秒) | 设置日期中的毫秒数 |
getTimezoneOffset() | 返回本地时间与UTC时间相差的分钟数。 |