要创建一个日期对象,使用 new 操作符和 Date 构造函数即可,如下所示。
var naiDate = new Date();
naiDate
Fri Dec 08 2017 10:44:37 GMT+0800 (中国标准时间)
创建 Date 实例用来处理日期和时间。Date 对象基于1970年1月1日(世界标准时间)起的毫秒数。
var naiDate01 = new Date('December 17, 1997 03:24:00');
naiDate01
Wed Dec 17 1997 03:24:00 GMT+0800 (中国标准时间)
var naiDate02 = new Date('1997-12-17T03:24:00');
naiDate02
Wed Dec 17 1997 11:24:00 GMT+0800 (中国标准时间)
var naiDate03 = new Date(1997,12,17);
naiDate03
Wed Dec 17 1997 00:00:00 GMT+0800 (中国标准时间)
var naiDate04 = new Date(1997,12,17,3,24,0);
naiDate04
Sat Jan 17 1998 03:24:00 GMT+0800 (中国标准时间)
var naiDate05 = new Date(1512727020788)
naiDate05
Fri Dec 08 2017 17:57:00 GMT+0800 (中国标准时间)
var naiDate06 = Date.now()
naiDate06
1512727020788//毫秒为单位 in milliseconds
构造函数
new Date();
new Date(value);
new Date(dateString);
new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);
value
代表自1970年1月1日00:00:00 (世界标准时间) 起经过的毫秒数。
dateString
表示日期的字符串值。该字符串应该能被 Date.parse() 方法识别(符合 IETF-compliant RFC 2822 timestamps 或 version of ISO8601)。
year
代表年份的整数值。为了避免2000年问题最好指定4位数的年份; 使用 1998, 而不要用 98.
month
代表月份的整数值从0(1月)到11(12月)。
day
代表一个月中的第几天的整数值,从1开始。
hour
代表一天中的小时数的整数值 (24小时制)。
minute
分钟数。
second
秒数。
millisecond
表示时间的毫秒部分的整数值。
属性
Date.prototype
允许为 Date 实例对象添加属性。
Date.length
Date.length 的值是 7。这是该构造函数可接受的参数个数。
方法
Date.now()
返回自 1970-1-1 00:00:00 UTC (世界标准时间)至今所经过的毫秒数。
var naiDate06 = Date.now()
naiDate06
1512727020788//毫秒为单位 in milliseconds
Date.parse()
解析一个表示日期的字符串,并返回从 1970-1-1 00:00:00 所经过的毫秒数。 , Date.parse() 方法接收一个表示日期的字符串参数,然后尝试根据这个字符串返回相应日 期的毫秒数。ECMA-262 没有定义 Date.parse() 应该支持哪种日期格式,因此这个方法的行为因实现 而异,而且通常是因地区而异
如果传入 Date.parse() 方法的字符串不能表示日期,那么它会返回 NaN 显示调用:
Date.parse(dateString)
隐式调用:
new Date(dateString)
var naiDate07 = Date.parse("May 7,2017")
naiDate07
1494086400000
var naiDate08 = Date.parse()
naiDate08
NaN
Date.UTC()
接受和构造函数最长形式的参数相同的参数(从2到7),并返回从 1970-01-01 00:00:00 UTC 开始所经过的毫秒数。
Date.UTC(year,month[,date[,hrs[,min[,sec[,ms]]]]])
var utcDate = new Date(Date.UTC(96, 11, 1, 0, 0, 0));
utcDate
Sun Dec 01 1996 08:00:00 GMT+0800 (中国标准时间)
日期格式化方法
Date 类型还有一些专门用于将日期格式化为字符串的方法,这些方法如下。
toDateString()
——以特定于实现的格式显示星期几、月、日和年;
toTimeString()
——以特定于实现的格式显示时、分、秒和时区;
toLocaleDateString()
——以特定于地区的格式显示星期几、月、日和年;
toLocaleTimeString()
——以特定于实现的格式显示时、分、秒;
toUTCString()
——以特定于实现的格式完整的 UTC 日期。 与 toLocaleString() 和 toString() 方法一样,以上这些字符串格式方法的输出也是因浏览器 而异的,因此没有哪一个方法能够用来在用户界面中显示一致的日期信息。
var naiDate = new Date(1997,12,7,3,24,0);
var dateToS = naiDate.toString()
dateToS
"Wed Jan 07 1998 03:24:00 GMT+0800 (中国标准时间)"
var dateToDateS = naiDate.toDateString();
dateToDateS
"Wed Jan 07 1998"
var dateTimeS = naiDate.toTimeString();
dateTimeS
"03:24:00 GMT+0800 (中国标准时间)"
var dateToL = naiDate.toLocaleDateString();
dateToL
"1998/1/7"
dateToLo
"上午3:24:00"
var dateToUTC = naiDate.toUTCString();
dateToUTC
"Tue, 06 Jan 1998 19:24:00 GMT"
日期/时间组件方法
方法 | 说明 |
---|---|
getTime() | 返回表示日期的毫秒数;与 valueOf() 方法返回的值相同 |
setTime( 毫秒 ) | 以毫秒数设置日期,会改变整个日期 |
getFullYear() | 取得4位数的年份(如2007而非仅07) |
getUTCFullYear() | 返回UTC日期的4位数年份 |
setFullYear( 年 ) | 设置日期的年份。传入的年份值必须是4位数字(如2007而非仅07) |
setUTCFullYear( 年 ) | 设置UTC日期的年份。传入的年份值必须是4位数字(如2007而非仅07) |
getMonth() | 返回日期中的月份,其中0表示一月,11表示十二月 |
getUTCMonth() | 返回UTC日期中的月份,其中0表示一月,11表示十二月 |
setMonth( 月 ) | 设置日期的月份。传入的月份值必须大于0,超过11则增加年份 |
setUTCMonth( 月 ) | 设置UTC日期的月份。传入的月份值必须大于0,超过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会增加分钟数 |
getMilliseconds() | 返回日期中的毫秒数 |
getUTCMilliseconds() | 返回UTC日期中的毫秒数 |
setMilliseconds( 毫秒 ) | 设置日期中的毫秒数 |
setUTCMilliseconds( 毫秒 ) | 设置UTC日期中的毫秒数 |
getTimezoneOffset() | 返回本地时间与UTC时间相差的分钟数。例如,美国东部标准时间返回300。在某地进入夏令时的情况下,这个值会有所变化 |