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();
例如转换日期时:
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();