【发布时间】:2009-01-30 14:22:41
【问题描述】:
我是 JavaScript 新手。我的要求是 T 想要在特定日期(如星期日、星期一...)弹出一条消息,直到选择日期。
我尝试了getday() 功能,但它不起作用。
请建议如何执行此操作。
【问题讨论】:
-
记住,javascript 是区分大小写的
标签: javascript date
我是 JavaScript 新手。我的要求是 T 想要在特定日期(如星期日、星期一...)弹出一条消息,直到选择日期。
我尝试了getday() 功能,但它不起作用。
请建议如何执行此操作。
【问题讨论】:
标签: javascript date
var date = new Date();
var day = date.getDay();
day 现在包含一个从零到六的数字;零是星期日,一是星期一,依此类推。
剩下的就是将该数字翻译成英文(或任何其他语言)字符串作为日期名称:
var name = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][day];
【讨论】:
var days= ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
var today = new Date();
document.write(days[today.getDay()]);
【讨论】:
This page 似乎可以满足您的需求。
我们要做的是添加 getMonthName() 和 getDayName() 我们所有日期的方法,以便我们 可以通过以下方式获取月份名称或日期名称 直接调用这些新方法 而不必调用 getMonth() 或 getDay() 然后做一个数组 查找相应的名称。
你可以这样做:
var today = new Date;
alert(today.getDayName());
【讨论】:
使用 ECMAScript 国际化 API,它是 ECMA 402 的一部分,该 API 的第二版与 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,以确保不会因时区差异而改变。
【讨论】: