Date
Date
对象用来表示日期和时间
日期创建方式一
new Date()
var now = new Date();
now; // Thu Jun 29 2017 16:48:22 GMT+0800 (CST)
now.getFullYear(); // 2017, 年份
now.getMonth(); // 5, 月份,注意月份范围是0~11,5表示六月
now.getDate(); // 29, 表示24号
now.getDay(); // 4, 表示星期四
now.getHours(); // 16, 24小时制
now.getMinutes(); // 48, 分钟
now.getSeconds(); // 22, 秒
now.getMilliseconds(); // 875, 毫秒数
now.getTime(); // 1498724181898, 以number形式表示的时间戳
日期创建方式二
创建一个指定日期和时间的Date
对象
new Date(datestring)
var d = new Date(2017, 6, 30, 20, 15, 30, 123);
d; // Fri Jun 30 2017 20:15:30 GMT+0800 (CST)
非常坑的地方,就是JavaScript的月份范围用整数表示是0~11,0表示一月,1表示二月……,所以要表示6月,我们传入的是5
通过解析一个符合ISO 8601格式的字符串,创建一个指定日期和时间
var d = Date.parse("2017-06-30T19:49:22.875+08:00");
d; // 1435146562875
日期创建方式三
时间戳转换为一个Date
new Date(milliseconds)
var d = new Date(1498724181898);
d; // Wed Jun 29 2017 16:20:22 GMT+0800 (CST)
时区
-
Date
对象表示的时间总是按浏览器所在时区显示的,不过我们既可以显示本地时间,也可以显示调整后的UTC
时间; - 间戳是一个自增的整数,它表示从
1970年1月1日零时整
的GMT时区开始的那一刻,到现在的毫秒数; - 时间戳可以精确地表示一个时刻,并且与时区无关。
var d = new Date(1498724181898);
d.toLocaleString(); // '2017/6/29 下午4:16:21',本地时间(北京时区+8:00),显示的字符串与操作系统设定的格式有关
d.toUTCString(); // 'Thu, 29 Jun 2017 08:16:21 GMT',UTC时间,与本地时间相差8小时
下边列出了日期的一系列方法及对应的描述。
方法 | 描述 |
---|---|
Date() | 返回当日的日期和时间 |
getDate() | 根据本地时从Date对象返回一个月中的某一天(1 ~ 31) |
getDay() | 根据本地时从Date对象返回一周中的某一天(1 ~ 6) |
getFullYear() | 根据本地时从 Date 对象以四位数字返回年份 |
getHours() | 根据本地时返回 Date 对象的小时 (0 ~ 23) |
getMilliseconds() | 根据本地时返回 Date 对象的毫秒(0 ~ 999) |
getMinutes() | 根据本地时返回 Date 对象的分钟 (0 ~ 59) |
getMonth() | 根据本地时从Date对象返回月份(1 ~ 11) |
getSeconds() | 根据本地时返回 Date 对象的秒数 (0 ~ 59) |
getTime() | 根据本地时返回 1970 年 1 月 1 日至今的毫秒数 |
getTimezoneOffset() | 返回本地时间与格林威治标准时间 (GMT) 的分钟差 |
getUTCDate() | 根据世界时从 Date 对象返回月中的一天 (1 ~ 31) |
getUTCDay() | 根据世界时从 Date 对象返回周中的一天 (0 ~ 6) |
getUTCFullYear() | 根据世界时从 Date 对象返回四位数的年份 |
getUTCHours() | 根据世界时返回 Date 对象的小时 (0 ~ 23) |
getUTCMilliseconds() | 根据世界时返回 Date 对象的毫秒(0 ~ 999) |
getUTCMinutes() | 根据世界时返回 Date 对象的分钟 (0 ~ 59) |
getUTCMonth() | 根据世界时从 Date 对象返回月份 (0 ~ 11) |
getUTCSeconds() | 根据世界时返回 Date 对象的秒钟 (0 ~ 59) |
getYear() | 弃用,返回在指定的日期根据当地时间。使用getFullYear()代替。 |
setDate() | 根据本地时设置 Date 对象中月的某一天 (1 ~ 31) |
setFullYear() | 根据本地时设置 Date 对象中的年份(四位数字) |
setHours() | 根据本地时设置 Date 对象中的小时 (0 ~ 23) |
setMilliseconds() | 根据本地时设置 Date 对象中的毫秒 (0 ~ 999) |
setMinutes() | 根据本地时设置 Date 对象中的分钟 (0 ~ 59) |
setMonth() | 根据本地时设置 Date 对象中月份 (0 ~ 11) |
setSeconds() | 根据本地时设置 Date 对象中的秒钟 (0 ~ 59) |
setTime() | 根据本地时以毫秒设置 Date 对象 |
setUTCDate() | 根据世界时设置 Date 对象中月份的一天 (1 ~ 31) |
setUTCFullYear() | 根据世界时设置 Date 对象中的年份(四位数字) |
setUTCHours() | 根据世界时设置 Date 对象中的小时 (0 ~ 23) |
setUTCMilliseconds() | 根据世界时设置 Date 对象中的毫秒 (0 ~ 999) |
setUTCMinutes() | 根据世界时设置 Date 对象中的分钟 (0 ~ 59) |
setUTCMonth() | 根据世界时设置 Date 对象中的月份 (0 ~ 11) |
setUTCSeconds() | 根据世界时设置 Date 对象中的秒钟 (0 ~ 59) |
setYear() | 弃用,设置为指定的日期根据当地时间。使用 setFullYear() 代替。 |
toDateString() | 把 Date 对象的日期部分转换为字符串 |
toGMTString() | 弃用,将日期转换为一个字符串,使用互联网格林尼治时间约定。使用 toUTCString() 代替。 |
toLocalDateString() | 根据本地时间格式,把 Date 对象的日期部分转换为字符串 |
toLocalFormat() | 将日期转换为一个字符串,使用格式化字符串。 |
toLocalString() | 根据本地时间格式,把 Date 对象转换为字符串 |
toLocalTimeString() | 根据本地时间格式,把 Date 对象的时间部分转换为字符串 |
toSource() | 返回一个字符串代表一个等价的日期对象的源码,您可以使用这个值来创建一个新的对象 |
toString() | 把 Date 对象转换为字符串 |
toTimeString() | 把 Date 对象的时间部分转换为字符串 |
toUCTString() | 根据世界时,把 Date 对象转换为字符串 |
valueOf() | 返回 Date 对象的原始值 |
Date 静态方法
方法 | 描述 |
---|---|
Date.parse() | 返回 1970 年 1 月 1 日午夜到指定日期(字符串)的毫秒数 |
Date.UTC() | 根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数 |
网友评论