我从API获取这些格式中的一种"mm-dd-yyyy"或"mm/dd/yyyy",这些都是字符串,我想将它们从string解析为js date对象。
因此,当我执行new Date('12/07/2021')或new Date('12-07-2021')时,会得到输出日期,该日期比2021-12-06T18:30:00:000Z早一天。
但是,如果我以类似于yyyy-mm-dd格式的new Date('2021-12-07')格式传递日期,那么我将得到正确的日期作为输出2021-12-07T00:00:00.000Z,我在节点js的后端将面临这个问题。
据我所说,可能的解决方案是将字符串从mm-dd-yyyy格式转换为yyyy-mm-dd格式。但我该怎么做?
注意::我不能使用矩js,因为这是一个新项目,而且由于js的折旧
发布于 2021-12-07 16:16:02
有UTC变体的setDay,setMonth,setYear,应该做什么你以后。
例如..。
function mdyToDate(date) {
const s = date.split(/[/-]/);
const [m, d, y] = s.map(v => parseInt(v));
const ret = new Date('2000-01-01');
ret.setUTCFullYear(y);
ret.setUTCMonth(m-1); //months are 0 based
ret.setUTCDate(d);
return ret;
}
console.log(mdyToDate('12/07/2021'));
console.log(mdyToDate('12-07-2021'));
console.log(mdyToDate('12/7-2021'));
https://stackoverflow.com/questions/70263350
复制相似问题