跳至主要內容

Date

Yang大约 5 分钟

Dateopen in new window


由于浏览器差异和不一致性,强烈建议不要使用Date构造函数(和Date.parse,它们是等效的)解析日期字符串。


语法

没有参数:新创建的Date对象表示实例化时刻的日期和时间

new Date();

Unix时间戳:是一个整数值,表示自1970年1月1日00:00:00 UTC(the Unix epoch)以来的毫秒数,忽略了闰秒。请注意大多数 Unix 时间戳功能仅精确到最接近的秒。

new Date(1597570990000);

时间戳字符串:表示日期的字符串值。该字符串应该能被 Date.parse() 正确方法识别

new Date('2020/8/16 17:48:26');
new Date('2020/08/16 17:48:26');
new Date('2020-08-16 17:48:26');
new Date('2020-08-16T17:49:26');
new Date('Aug 16, 2020 17:48:26');

分别提供日期与时间的每一个成员

  • year:表示年份的整数值。 0到99会被映射至1900年至1999年,其它值代表实际年份
  • monthIndex:表示月份的整数值,从 0(1月)到 11(12月)
  • day (可选):表示一个月中的第几天的整数值,从 1 开始。默认值为 1(1 到 31)
  • hours(可选):表示一天中的小时数的整数值 (24小时制)。默认值为0(午夜)(0 到 23)
  • minutes (可选):表示一个完整时间(如 01:10:00)中的分钟部分的整数值。默认值为0(0 到 59)
  • seconds (可选):表示一个完整时间(如 01:10:00)中的秒部分的整数值。默认值为0(0 到 59)
  • milliseconds (可选):表示一个完整时间的毫秒部分的整数值。默认值为0 (0 到 999 )
new Date(2020, 8, 16, 17, 48, 26);


Date.now()open in new window

  • 描述:返回自 1970 年 1 月 1 日 00:00:00 (UTC) 到当前时间的毫秒数
  • 语法:var timeInMs = Date.now();

Date.UTC()open in new window

  • 描述:接受的参数同日期构造函数接受最多参数时一样,返回从1970-1-1 00:00:00 UTC到指定日期的的毫秒数
  • 语法:Date.UTC(year,month[,date[,hrs[,min[,sec[,ms]]]]])

Date.parse()open in new window

  • 描述:解析一个表示某个日期的字符串,并返回从1970-1-1 00:00:00 UTC 到该日期对象(该日期对象的UTC时间)的毫秒数,如果该字符串无法识别,或者一些情况下,包含了不合法的日期数值(如:2015-02-31),则返回值为 NaN
  • 语法:Date.parse(dateString)
    • 隐式调用:new Date(dateString).getTime()

Date.prototype.getTime()open in new window

  • 描述:返回值一个数值,表示从1970年1月1日0时0分0秒(UTC,即协调世界时)距离该日期对象所代表时间的毫秒数
  • 语法:dateObj.getTime()

Date.prototype.getFullYear()open in new window

  • 描述:根据当地时间,返回一个对应于给定日期的年份数字
  • 语法:dateObj.getFullYear()

Date.prototype.getMonth()open in new window

  • 描述:返回一个 0 到 11 的整数值: 0 代表一月份,1 代表二月份, 2 代表三月份,依次类推
  • 语法:dateObj.getMonth()

Date.prototype.getDate()open in new window

  • 描述:返回一个指定的日期对象为一个月中的哪一日( 1 ~ 31 )
  • 语法:dateObj.getDate()

Date.prototype.getDay()open in new window

  • 描述:根据本地时间,返回一个具体日期中一周的第几天,0 表示星期天( 0 ~ 6 )
  • 语法:dateObj.getDate()

Date.prototype.getHours()open in new window

  • 描述:根据本地时间,返回一个指定的日期对象的小时( 0 ~ 23 )
  • 语法:dateObj.getHours()

Date.prototype.getMinutes()open in new window

  • 描述:根据本地时间,返回一个指定的日期对象的分钟数( 0 ~ 59 )
  • 语法:dateObj.getMinutes()

Date.prototype.getSeconds()open in new window

  • 描述:根据本地时间,返回一个指定的日期对象的秒数( 0 ~ 59 )
  • 语法:dateObj.getSeconds()

Date.prototype.getMilliseconds()open in new window

  • 描述:根据本地时间,返回一个指定的日期对象的毫秒数( 0 ~ 999 )
  • 语法:dateObj.getMilliseconds()

Date.prototype.setTime()open in new window

  • 描述:以一个表示从1970-1-1 00:00:00 UTC计时的毫秒数为来为 Date 对象设置时间
  • 语法:dateObj.setTime(timeValue)

Date.prototype.setFullYear()open in new window

  • 描述:根据本地时间为一个日期对象设置年份
  • 语法:dateObj.setFullYear(yearValue[, monthValue[, dayValue]])

Date.prototype.setMonth()open in new window

  • 描述:根据本地时间为一个设置年份的日期对象设置月份
  • 语法:dateObj.setMonth(monthValue[, dayValue])

Date.prototype.setDate()open in new window

  • 描述:根据本地时间来指定一个日期对象的天数
  • 语法:dateObj.setDate(dayValue)
  • 注意
    • 如果 dayValue 超出了月份的合理范围,setDate 将会相应地更新 Date 对象
      • 例如,如果为 dayValue 指定0,那么日期就会被设置为上个月的最后一天
      • 如果dayValue被设置为负数,日期会设置为上个月最后一天往前数这个负数绝对值天数后的日期。-1会设置为上月最后一天的前一天

Date.prototype.setHours()open in new window

  • 描述:根据本地时间为一个日期对象设置小时数,返回从1970-01-01 00:00:00 UTC 到更新后的 日期 对象实例所表示时间的毫秒数
  • 语法:dateObj.setHours(hoursValue[, minutesValue[, secondsValue[, msValue]]])

Date.prototype.setMinutes()open in new window

  • 描述:根据本地时间为一个日期对象设置分钟数
  • 语法:dateObj.setMinutes(minutesValue[, secondsValue[, msValue]])

Date.prototype.setSeconds()open in new window

  • 描述:根据本地时间设置一个日期对象的秒数
  • 语法:dateObj.setSeconds(secondsValue[, msValue])

Date.prototype.setMilliseconds()open in new window

  • 描述:根据本地时间设置一个日期对象的豪秒数
  • 语法:dateObj.setMilliseconds(millisecondsValue)

Date.prototype.toString()open in new window

  • 描述:返回一个字符串,表示该 Date 对象。
  • 语法:dateObj.toString()
var date = new Date();
console.log(date.toString()); // Sun Aug 16 2020 18:35:19 GMT+0800 (中国标准时间)

Date.prototype.toDateString()open in new window

  • 描述:以美式英语和人类易读的形式返回一个日期对象日期部分的字符串
  • 语法:dateObj.toDateString()
var date = new Date();
console.log(date.toDateString()); // Sun Aug 16 2020

Date.prototype.toUTCString()open in new window

  • 描述:以美式英语和人类易读的形式返回一个日期对象日期部分的字符串
  • 语法:dateObj.toUTCString()
var date = new Date();
console.log(date.toUTCString()); // Sun, 16 Aug 2020 10:37:50 GMT

Date.prototype.toISOString()open in new window

  • 描述:返回一个 ISO(ISO 8601 Extended Format)格式的字符串: YYYY-MM-DDTHH:mm:ss.sssZ。时区总是UTC(协调世界时),加一个后缀“Z”标识
  • 语法:dateObj.toISOString()
var date = new Date();
console.log(date.toISOString()); // 2020-08-16T10:38:42.445Z

Date.prototype.toJSON()open in new window

  • 描述:方法返回 Date 对象的字符串形式(内部调用了 toISOString
  • 语法:dateObj.toJSON()
var date = new Date();
console.log(date.toJSON()); // 2020-08-16T10:39:28.808Z
上次编辑于:
贡献者: sunzhenyang