我是JavaScript新手。我的要求是T想要在特定日期(如星期日,星期一......)弹出一条消息,直到选择日期为止。
我尝试了getday()
功能,但它没有用。
请建议如何做到这一点。
答案 0 :(得分:20)
var date = new Date();
var day = date.getDay();
day
现在拥有从零到六的数字;零是星期日,一个是星期一,依此类推。
所有剩下的就是将该数字翻译成日期名称的英语(或其他任何语言)字符串:
var name = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][day];
答案 1 :(得分:4)
var days= ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
var today = new Date();
document.write(days[today.getDay()]);
答案 2 :(得分:2)
This page似乎为您提供了所需的信息。
我们要做的是添加 getMonthName()和getDayName() 所有日期的方法,以便我们 可以获取月份名称或日期名称 直接调用这些新方法 而不必调用getMonth() 或getDay()然后做一个数组 查找相应的名称。
然后你可以这样做:
var today = new Date;
alert(today.getDayName());
答案 3 :(得分:0)
使用 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,以确保不会因时区差异而发生任何更改。