JavaScript日期格式无法正常工作

时间:2018-11-06 15:53:33

标签: javascript angularjs date locale

我更改了密码。我有这个功能:

    function Date(stringDate){
        var date=moment(stringDate).locale('es').format('DD MMM');
        if(date=="Invalid Date"){
            return '-';
        } else {
            return date;
        }
    
    }

它仍然以英语返回日期。

1 个答案:

答案 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')))