new Date() 始终将 dd/mm/yyyy 读取为 mm/dd/yyyy(首先是月),因此日期和月份值会混合,导致 NaN/Error

new Date() always read dd/mm/yyyy as mm/dd/yyyy(month first) hence day and month values get mixed resulting in NaN/Error

例如转换日期时:

var dateObj = new Date("10/01/2019");
console.log(dateObj);

returns Tue Oct 01 2019 00:00:00 即它将 日作为月份 并同样采用月份值

如何使新的 Date() 取 dd/mm/yyyy ??

答案在这里:

(来自原始答案)我们可以使用 split 函数,然后将各个部分连接起来创建一个新的日期对象:

var dateString = "23/10/2019"; // Oct 23

var dateParts = dateString.split("/");

// month is 0-based, that's why we need dataParts[1] - 1
var dateObject = new Date(+dateParts[2], dateParts[1] - 1, +dateParts[0]); 

document.body.innerHTML = dateObject.toString();