# Date

创建一个 Date 实例,该实例呈现时间中的某个时刻。Date 对象则基于 Unix Time Stamp,即自 1970 年 1 月 1 日(UTC)起经过的毫秒数。

# 语法

new Date();
new Date(value);
new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);
  • 如果没有输入任何参数,则 Date 的构造器会依据系统设置的当前时间来创建一个 Date 对象。
  • 如果提供了至少两个参数,其余的参数均会默认设置为 1(如果没有指定 day 参数)或者 0(如果没有指定 day 以外的参数)。
  • uts 的时间由世界标准时间(UTC)1970 年 1 月 1 日开始,用毫秒计时,一天由 86,400,000 毫秒组成。Date 对象的范围是 -100,000,000 天至 100,000,000 天(等效的毫秒值)。

目前支持的字符串格式有:

  • Dec 25, 1995
  • 01 Jan 1970 00:00:00 GMT
  • 1995-12-17T03:24:00
  • December 17, 1995 03:24:00
  • December 17, 95 03:24:00
  • March 13, 08 04:20
  • July 20, 69 20:17:40 GMT+00:00
  • December 31, 1975, 23:15:30 GMT+11:00
  • 2023/08/13 12:35:54
  • 1995-02-14
  • 2024-01-09 22:00:00 (HBuilderX 4.0支持)

# 静态方法

# now()

返回自 1970 年 1 月 1 日 00:00:00 (UTC) 到当前时间的毫秒数。

返回值

类型
number
// this example takes 2 seconds to run
const start = Date.now()
console.log('starting timer...')
// expected output: starting timer...
setTimeout(() => {
  const millis = Date.now() - start
  console.log(`seconds elapsed = ${Math.floor(millis / 1000)}`)
  // expected output: seconds elapsed = 2
}, 2000)

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.9 4.11 4.0

# 实例方法

# toString()

返回一个字符串,以本地的时区表示该 Date 对象。

返回值

类型
string

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.9 4.11 4.0 3.9+

# toDateString()

以美式英语和人类易读的形式返回一个日期对象日期部分的字符串。

返回值

类型
string

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.9 4.11 4.0 3.9+

# toISOString()

一个 ISO(ISO 8601 Extended Format)格式的字符串: YYYY-MM-DDTHH:mm:ss.sssZ。时区总是 UTC(协调世界时),加一个后缀“Z”标识。

返回值

类型
string

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
x 4.0 4.11 x

# toJSON()

返回 Date 对象的字符串形式。调用 toJSON() 返回一个 JSON 格式字符串 (使用 toISOString()),表示该日期对象的值。默认情况下,这个方法常用于 JSON序列化Date对象。

参数

名称 类型 必填 描述
key any -

返回值

类型
string

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
x 4.0 4.11 x

# getTime()

返回从UTC时间1970年1月1日午夜开始以毫秒为单位存储的时间值。

返回值

类型
number

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.9 4.11 4.0 3.9+

# getFullYear()

根据本地时间返回指定日期的年份。此方法替代 getYear() 。

返回值

类型 描述
number 根据当地时间,返回一个对应于给定日期的年份数字。

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.9 4.11 4.0

# getMonth()

根据本地时间,返回一个指定的日期对象的月份,为基于 0 的值(0 表示一年中的第一月)。

返回值

类型 描述
number 一个 0 到 11 的整数值:0 代表一月份,1 代表二月份,2 代表三月份,依次类推。

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.9 4.11 4.0

# getDate()

根据本地时间,返回一个指定的日期对象为一个月中的哪一日(从 1--31)。

返回值

类型 描述
number 返回一个 1 到 31 的整数值。

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.9 4.11 4.0

# getDay()

根据本地时间,返回一个具体日期中一周的第几天,0 表示星期天。

返回值

类型 描述
number 根据本地时间,返回一个 0 到 6 之间的整数值,代表星期几:0 代表星期日,1 代表星期一,2 代表星期二,依次类推。

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.9 4.11 4.0

# getHours()

根据本地时间,返回一个指定的日期对象的小时。

返回值

类型 描述
number 返回一个 0 到 23 之间的整数值。

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.9 4.11 4.0 3.9+

# getMinutes()

根据本地时间,返回一个指定的日期对象的分钟数。

返回值

类型 描述
number 返回一个 0 到 59 的整数值。

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.9 4.11 4.0 3.9+

# getSeconds()

根据本地时间,返回一个指定的日期对象的秒数。

返回值

类型 描述
number 返回一个 0 到 59 的整数值。

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.9 4.11 4.0 3.9+

# setTime(time)

以一个表示从 1970-1-1 00:00:00 UTC 计时的毫秒数为来为 Date 对象设置时间。

参数

名称 类型 必填 描述
time number 一个整数,表示从 1970-1-1 00:00:00 UTC 开始计时的毫秒数。

返回值

类型 描述
number UTC 1970 年 1 月 1 日 00:00:00 与更新日期之间的毫秒数(实际上是自变量的值)。

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.9 4.11 4.0 3.9+

# setMilliseconds(ms)

根据本地时间设置一个日期对象的豪秒数。如果指定的数字超出了合理范围,则日期对象的时间信息会被相应地更新。例如,如果指定了 1005,则秒数加 1,豪秒数为 5。

参数

名称 类型 必填 描述
ms number 一个 0 到 999 的数字,表示豪秒数。

返回值

类型 描述
number 返回更新后的时间距 1970 年 1 月 1 日 00:00:00 的毫秒数。

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.9 4.11 4.0 3.9+

# setSeconds(sec)

根据本地时间设置一个日期对象的秒数。

参数

名称 类型 必填 描述
sec number 一个 0 到 59 的整数。

返回值

类型
number

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.9 4.11 4.0 3.9+

# setMinutes(min)

根据本地时间为一个日期对象设置分钟数。

参数

名称 类型 必填 描述
min number 一个 0 到 59 的整数,表示分钟数。

返回值

类型
number

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.9 4.11 4.0 3.9+

# setHours(hours)

根据本地时间为一个日期对象设置小时数,返回从 1970-01-01 00:00:00 UTC 到更新后的 日期 对象实例所表示时间的毫秒数。

参数

名称 类型 必填 描述
hours number 必填,一个 0 到 23 的整数,表示小时。

返回值

类型
number

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.9 4.11 4.0 3.9+

# setDate(date)

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

参数

名称 类型 必填 描述
date number 一个整数,表示该月的第几天。

返回值

类型
number

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.9 4.11 4.0 3.9+

# setMonth(month)

根据本地时间为一个日期对象设置月份。

参数

名称 类型 必填 描述
month number 必填参数,介于 0 到 11 之间的整数(表示一月到十二月)。

返回值

类型 描述
number 基于 1 January 1970 00:00:00 UTC 开始计算的毫秒数。

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.9 4.11 4.0 3.9+

# setFullYear(year)

各个平台在处理时间戳为负数时会有细节差异,尽量避免 参数小于1970的情况

根据本地时间为一个日期对象设置年份。

参数

名称 类型 必填 描述
year number 指定年份的整数值,例如 1995。

返回值

类型
number

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.9 4.11 4.0 3.9+

# parse(s)

解析一个表示某个日期的字符串,并返回从 1970-1-1 00:00:00 UTC 到该日期对象(该日期对象的 UTC 时间)的毫秒数,如果该字符串无法识别,或者一些情况下,包含了不合法的日期数值(如:2015-02-31),则返回值为 NaN。

参数

名称 类型 必填 描述
s string 一个符合 RFC2822 或 ISO 8601 日期格式的字符串(其他格式也许也支持,但结果可能与预期不符)。

返回值

类型 描述
number 一个表示从 1970-1-1 00:00:00 UTC 到给定日期字符串所表示时间的毫秒数的数值。如果参数不能解析为一个有效的日期,则返回NaN。

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.9 4.11 4.0

# 参见

相关 Bug