我需要为“六月”获取“Jun”,为“周一”获取“Mon”。问题是,如果用户将语言设置为英语以外的任何语言,则在英语单词对象中查找将不起作用。
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
,因为当用户不是英语使用者时,这会有所不同。
var date = new Date();
var options = { weekday: 'short', month: 'short' };
console.log(new Intl.DateTimeFormat('en-US', options).format(date));
或者正如上面塞巴斯蒂安指出的,
date.toLocaleString
:
const date = new Date()
console.log(date.toLocaleString('en-US', { weekday: 'short' }))
console.log(date.toLocaleString('en-US', { month: 'short' }))
函数removeDayNameFromFormattedDate(formattedDate) { const dayOfWeekPattern = /^[A-Za-z]+,\s*/ formattedDate.replace(dayOfWeekPattern, '')
const 月份名称模式 = /([A-Za-z]+)\s/; formattedDate.replace(monthNamePattern, (match, MonthName) => MonthName.substr(0, 3) + ' '); 返回格式化日期 } 从格式化日期中删除DayName(星期三,2024 年 11 月 30 日)