JavaScript newdate函数意外输出

mo_size

我对以下脚本的结果感到困惑,并且我不明白为什么是这样:

enddate = '01-02-2020'; //euro format dd-mm-yyyy
datesplit = enddate.split("-"); 

console.log("datesplit: ", datesplit); //[ '01', '02', '2020' ]
console.log(datesplit[2]); // 2020
console.log(datesplit[1]); // 02
console.log(datesplit[0]); // 01

enddate1 = new Date(datesplit[2],datesplit[1],datesplit[0]);

console.log("enddate 1", enddate1); //output: 2020-03-01T05:00:00.000Z , but I'm expecting 2020-02-01T00:00:00.000Z

最后一个控制台日志输出是我无法理解的。我希望能解释一下为什么结果是正确的。

闪亮的

JavaScript将月份视为从零开始。因此,您必须拥有-1月份价值才能获得正确的结果。正如@RobG所说,您应该使用new Date(Date.UTC(...))UTC来获取日期

let endDate = '01-02-2020' // dd-mm-yyyy;
let [day, month, year] = endDate.split('-');

// Months are zero-based, so -1 to get the right month
month = month - 1;

console.log(day);  // '01'
console.log(month);// 1
console.log(year); // '2020'

let newDate = new Date(Date.UTC(year, month, day));

console.log(newDate) // "2020-02-01T00:00:00.000Z"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Javascript函数返回意外结果

来自分类Dev

关于JavaScript词法范围的意外输出

来自分类Dev

PHP会话与JavaScript和AJAX意外输出

来自分类Dev

关于JavaScript词法范围的意外输出

来自分类Dev

JavaScript参数对象返回意外输出

来自分类Dev

控制台上的意外 JavaScript 输出

来自分类Dev

使用数组时 javascript 中的意外输出

来自分类Dev

函数的意外输出

来自分类Dev

用JavaScript调用函数的输出

来自分类Dev

解析groupBy函数的输出JavaScript

来自分类Dev

用javascript调用函数的输出

来自分类Dev

Javascript函数以意外方式工作

来自分类Dev

Javascript和HTML,不输出Javascript函数

来自分类Dev

使用 newdate 函数验证

来自分类Dev

JavaScript:console.log('str'+ int + int)意外输出

来自分类Dev

JavaScript:console.log('str'+ int + int)意外输出

来自分类Dev

Lambda函数提供了意外的输出

来自分类Dev

ToDate函数提供了意外的输出

来自分类Dev

predict() 函数返回意外的输出

来自分类Dev

如何理解JavaScript中函数的输出

来自分类Dev

从Qt调用Javascript函数不显示输出

来自分类Dev

在javascript函数中记录输出或分配的变量

来自分类Dev

未记录回调函数的输出(JavaScript)

来自分类Dev

意外的JavaScript(jQuery)行为(函数调用,而不是表单提交)

来自分类Dev

使用dexie db时以意外顺序调用Javascript函数

来自分类Dev

在JavaScript中产生意外行为的函数

来自分类Dev

Javascript对象成员函数:“未捕获的SyntaxError:意外的令牌”(铬)

来自分类Dev

通过地址调用数组函数的意外输出

来自分类Dev

C中回文函数的意外输出