我正在尝试确定用户区域设置日期格式,以便稍后可以使用它以特定格式显示日期。
我知道我可以使用toLocaleDateString()
获取日期格式。
假设我有1/2/2017
。如何判断是否在dd/mm
格式或mm/dd
format?
我尝试过的一件事是我可以从中获取当前日期和月份new Date()
并据此进行检查(手动)。当日期是2/2/2016
or 3/3/2016
如何判断哪一个是日期,哪一个是月份?
对于这个问题,有人有任何解决方案吗?
我也调查过moment.js
。如果那里也有可用的解决方案,我将很乐意使用它。
您也可以在不使用 moment 的情况下执行此操作
function getDateFormatString(lang = 'default') {
const formatObj = new Intl.DateTimeFormat(lang).formatToParts(new Date());
return formatObj
.map(obj => {
switch (obj.type) {
case "day":
return "DD";
case "month":
return "MM";
case "year":
return "YYYY";
default:
return obj.value;
}
})
.join("");
}
// Browser default
console.log(getDateFormatString());
// locale="en-US"
console.log(getDateFormatString('en-us')); // MM/DD/YYYY
// locale="en-GB"
console.log(getDateFormatString('en-gb')); // DD/MM/YYYY
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)