如何通过考虑与系统语言环境不同的语言,将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'
})
)
答案 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中可以正常工作。