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