Date.prototype.getDay()

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

getDay() 方法 Date 实例,根据本地时间返回该日期的星期几,其中 0 代表星期日。关于月份中的日期,请参阅 Date.prototype.getDate()

试一试

const birthday = new Date("August 19, 1975 23:15:30");
const day1 = birthday.getDay();
// Sunday - Saturday : 0 - 6

console.log(day1);
// Expected output: 2

语法

js
getDay()

参数

无。

返回值

一个整数,介于 0 和 6 之间,代表给定日期根据本地时间的星期几:0 表示星期日,1 表示星期一,2 表示星期二,依此类推。如果日期 无效,则返回 NaN

描述

getDay() 的返回值是零基索引的,这对于索引星期数组很有用,例如:

js
const valentines = new Date("1995-02-14");
const day = valentines.getDay();
const dayNames = ["Sunday", "Monday", "Tuesday" /* , … */];

console.log(dayNames[day]); // "Monday"

但是,为了国际化,您应该优先使用 Intl.DateTimeFormatoptions 参数。

js
const options = { weekday: "long" };
console.log(new Intl.DateTimeFormat("en-US", options).format(valentines));
// "Monday"
console.log(new Intl.DateTimeFormat("de-DE", options).format(valentines));
// "Montag"

示例

使用 getDay()

变量 weekday 的值为 1,这是基于 Date 对象 xmas95 的值,因为 1995 年 12 月 25 日是星期一。

js
const xmas95 = new Date("1995-12-25T23:15:30");
const weekday = xmas95.getDay();

console.log(weekday); // 1

规范

规范
ECMAScript® 2026 语言规范
# sec-date.prototype.getday

浏览器兼容性

另见