我更改了密码。我有这个功能:
function Date(stringDate){
var date=moment(stringDate).locale('es').format('DD MMM');
if(date=="Invalid Date"){
return '-';
} else {
return date;
}
}
它仍然以英语返回日期。
答案 0 :(得分:0)
请注意注释中有关此版本为西班牙语的错误版本的警告。
但是,如果仍然要执行此操作,则对上述结果使用正则表达式替换可能是最简单的。这与您的版本略有不同,只是添加了replace调用。它还允许您提供日期,如果未提供,则默认为今天:
let formatDate = (date = new Date()) => date == "Invalid Date"
? '-'
: date.toLocaleDateString('es-ES', {day: 'numeric', month: 'short'})
.replace(/\b([a-z])/, (s, w) => w.toUpperCase())
console.log(formatDate())
console.log(formatDate(new Date(1776, 7, 4)))
console.log(formatDate(new Date(1862, 4, 5)))
console.log(formatDate(new Date('foo-bar-baz')))