独立于浏览器的字符串(DD-MON-YY)到日期的转换
Browser independent String(DD-MON-YY) to Date conversion
外部服务 returns DD-MON-YY 格式的字符串日期(例如“30-JUN-12”)需要转换为日期类型以预填充到日期选择器中.我正在使用新的 Date() javascript 函数,它在 Chrome 中工作正常,但在 Firefox、Edge 和 IE 中给出无效日期。
Added "19" for years greater than 50 and "20" for years less than 50
Chrome、Edge (Chromium) 和 Firefox
const convert = str => {
let [dd, mmm, yy] = str.split("-");
yy = (+yy > 50 ? "19" : "20") + yy;
return new Date(`${dd} ${mmm} ${yy} 15:00:00`);
};
console.log(convert("30-JUN-12"));
console.log(convert("29-FEB-80"));
这适用于 IE11
var convert = function(str) {
var parts = str.split("-");
parts[2] = (+parts[2] > 50 ? "19" : "20") + parts[2];
return new Date(parts[0] + " " + parts[1] + " " + parts[2] + " 15:00:00");
};
console.log(convert("30-JUN-12"));
console.log(convert("29-FEB-80"));
外部服务 returns DD-MON-YY 格式的字符串日期(例如“30-JUN-12”)需要转换为日期类型以预填充到日期选择器中.我正在使用新的 Date() javascript 函数,它在 Chrome 中工作正常,但在 Firefox、Edge 和 IE 中给出无效日期。
Added "19" for years greater than 50 and "20" for years less than 50
Chrome、Edge (Chromium) 和 Firefox
const convert = str => {
let [dd, mmm, yy] = str.split("-");
yy = (+yy > 50 ? "19" : "20") + yy;
return new Date(`${dd} ${mmm} ${yy} 15:00:00`);
};
console.log(convert("30-JUN-12"));
console.log(convert("29-FEB-80"));
这适用于 IE11
var convert = function(str) {
var parts = str.split("-");
parts[2] = (+parts[2] > 50 ? "19" : "20") + parts[2];
return new Date(parts[0] + " " + parts[1] + " " + parts[2] + " 15:00:00");
};
console.log(convert("30-JUN-12"));
console.log(convert("29-FEB-80"));