有没有什么办法可以得到基于语言环境的日期格式?
问题描述:
我使用Intl
库在我的javascript代码,如下:有没有什么办法可以得到基于语言环境的日期格式?
const dateFormat = new Intl.DateTimeFormat(locale, {
day: '2-digit',
month: '2-digit',
year: 'numeric',
});
kk = new Date('1992-10-28')
dateFormat.format(kk, 'en-Us') ==> "10/28/1992"
但我想是这样"dd/mm/yyyy"
为响应:
let format = dateFormat.getFormat('en-Us'); // --> "dd/mm/yyyy"
答
的国际对象不允许您指定整个格式,只有它的一部分。如果你想要一个特定的值序列,你可以尝试一个适合或者手工操作的语言值。除了美国以外,几乎任何英语变体都会给d,m,y,但分隔符是另一个问题。幸运的是,“/”似乎是默认设置。令人惊讶的是,如果您提供的英文版本无法识别,它可能会默认使用特定的美国m/d/y序列。
var d = new Date();
var options = {day:'2-digit', month:'2-digit', year:'numeric'}
console.log(d.toLocaleString('en-gb', options));
否则,图书馆可以帮助,但如果你只希望支持一种格式,2或3线功能就行了。
function formatDMY(date) {
var z = function(n){return (n<10?'0':'')+n}
return z(date.getDate()) + '/' +
z(date.getMonth()+1) + '/' +
date.getFullYear();
}
console.log(formatDMY(new Date()));
可能的[*在哪里可以找到文档格式化在JavaScript中的日期?*]重复(https://stackoverflow.com/questions/1056728/where-can-i -find的文档上格式化-A-日期中的JavaScript) – RobG