将JS日期格式转换为本地可读格式

时间:2019-08-20 14:11:45

标签: javascript date

如何通过考虑与系统语言环境不同的语言,将JS中的YYYY-MM-DD的日期格式转换为人类可读的格式%e %B %Y

在PHP中,就像

<?php echo trim(strftime('%e %B %Y', strtotime('2019-07-31'))); ?>
// Renders: 31 July 2019

我希望拥有相同的语言,但是要使用相应的语言区域设置,例如“法语格式”,因此它将变为: 2019年6月31日朱莉特

====更新====

如@Baljinder Singh所述,下面链接中的解决方案效果很好

console.log(
  new Date('2019-07-31').toLocaleDateString('fr-FR', {
    year: 'numeric',
    month: 'long',
    day: 'numeric'
  })
)

2 个答案:

答案 0 :(得分:1)

尝试

let d = new Date('2019-08-20');

let s = d.toLocaleDateString(navigator.languages,{day:"numeric", month:"long", year: "numeric"});

console.log(s);

答案 1 :(得分:1)

如果它是特定于浏览器的,则可以使用window.navigator.language使它动态。

const date = new Date('2019-07-31').toLocaleDateString(window.navigator.language, {
  year: 'numeric',
  month: 'long',
  day: 'numeric',
});

console.log(date);

  

通知:在chrome和Firefox中可以正常工作。