如何使用JavaScript从特定日期获取日期?

8

我是JavaScript的新手。我的需求是,当选择一个日期时,在特定的日期(如星期天、星期一等)弹出一条消息。

我尝试了getday()函数,但它没有起作用。请建议怎么做。


请记住,JavaScript 区分大小写。 - Mike Robinson
4个回答

21
var date = new Date();
var day = date.getDay();

day 现在保存了一个从零到六的数字;零代表星期天,一代表星期一,以此类推。

现在只需要将该数字转换为相应的英语(或其他语言)字符串即可:

var name = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][day];

5
var days= ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
var today = new Date();
document.write(days[today.getDay()]);

2
这个页面似乎可以为您提供所需的信息。
我们要做的是向所有日期添加 getMonthName() 和 getDayName() 方法,以便通过直接调用这些新方法来获取月份名称或星期几名称,而不必调用 getMonth() 或 getDay(),然后进行相应名称的数组查找。
然后您就可以执行:
var today = new Date;
alert(today.getDayName());

1
使用ECMAScript国际化API,它是ECMA 402的一部分。该规范的第二版与ECMAScript 2015(也称为第6版或ES6)同时引入。

const knownMonday = new Date(Date.UTC(2000, 0, 3, 0, 0, 0));
const mondayName = new Intl.DateTimeFormat([], {
  weekday: 'long',
  timeZone: 'UTC'
}).format(knownMonday);
console.log(`Name of Monday in current "locale": "${mondayName}"`);

请注意,虽然这需要更多的代码,但它可以避免您在编写每个应用程序时输入日期名称,以支持您想要的每种语言。

还要注意,我使用了Date.UTC(year, month, day)来初始化Date,并使用timeZone: 'UTC'进行格式化。这是因为不知道读者可能处于哪个时区;鉴于此,我在声明和格式化Date时都使用UTC,以确保由于时区差异而不会发生任何更改。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接