看来 Intl.DateTimeFormat() 只接受
"narrow", "short", "long"
作为 weekday
选项。我希望它能以 number
的形式返回。即周日 = 0,周一 = 1,依此类推。如果我正确地理解“数字”不是一个选项,那么将工作日值返回为数字的简单方法是什么?
const day = new Intl.DateTimeFormat('en-US', {
timeZone: America/New_York,
weekday: 'long',
});
const weekdayNumber = ["0", "1", "2", "3", "4", "5", "6"];
const dayNumber = weekdayNumber[day.format(now)];
console.log('Weekday: ' + dayNumber); // returns error
Date.prototype.getDay()
:
const dayNumber = new Date().getDay();
console.log(dayNumber);
如果您想使用某些东西来“查找”,这将是获取工作日作为数字的一种方法:
const day = new Intl.DateTimeFormat('en-US', {
timeZone: 'America/New_York',
weekday: 'long',
});
const weekdays = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
const dayNumber = weekdays.indexOf(day.format(Date.now()));
console.log(dayNumber);