如何使用vanilla JavaScirpt Date对象获得一周中的3个字母的日期和一个月中的3字母的日期



我需要得到"六月"对于";六月";以及";星期一";对于";星期一";。问题是,如果用户的语言设置为英语以外的任何语言,那么在英语单词的对象中查找就不起作用。

export const shortDate = (str: any) => {
const d = new Date(str);
const dateString =
daysOfWeek[d.getDay()].toUpperCase() +
', ' +
shortMonths[d.getMonth()] +
' ' +
d.getDate() +
nth(d.getDate());
return dateString;
};

我需要去掉shortMonths对象和dayOfWeek,因为当用户不是英语使用者时,情况会有所不同。

检查Intl.DateTimeFormat:

var date = new Date();
var options = { weekday: 'short', month: 'short' };
console.log(new Intl.DateTimeFormat('en-US', options).format(date));

或者正如Sebastian在上面指出的,date.toLocaleString:

const date = new Date()
console.log(date.toLocaleString('en-US', { weekday: 'short' }))
console.log(date.toLocaleString('en-US', { month: 'short' }))

相关内容

  • 没有找到相关文章

最新更新