如何解决在2位数年份中使用tolocaledatestring返回错误的世纪
我正在处理一些无法更改的来自外部XML的数据。该XML的日期格式如下:
01-APR-39
我希望日期变成这种格式:
01/04/1939
但使用:
new Date('01-APR-39').toLocaleDateString('en-GB')
返回错误的世纪:
01/04/2039
我该如何解决?
解决方法
喜欢这个。
您需要确定年份截止时间
const cutOff = 29; // or have a range
const getDateFromYY = dStr => {
let [dd,mmm,yy] = dStr.split("-");
const yyyy = +yy > cutOff ? "19" + yy : "20" + yy;
return new Date(dd + "-" + mmm + "-" + yyyy).toLocaleDateString('en-GB')
};
console.log(getDateFromYY('01-APR-39'))
console.log(getDateFromYY('01-APR-19'))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。