新约会不能给我正确的时间

问题描述 投票:0回答:2
startDate = "2019-03-07 (목) 12:00";

var year = startDate.slice(0,4);
var month = startDate.slice(5,7);
var day = startDate.slice(8,10);
var hour = startDate.slice(15,17);
var minute = startDate.slice(18,20);

var selEndDatetime = new Date(year, month, day, hour, minute);
console.log(selEndDatetime);

我希望看到“Tue Mar 07 2019 12:00:00 GMT + 0900(韩国标准时间)”,但是控制台向我显示消息“Sun Apr 07 2019 00:00:00:00 GMT + 0900(韩国标准时间)”。

这段代码有什么问题,如何修改它以获得所需的输出?

javascript date datetime slice
2个回答
3
投票

月份从0开始。您需要在创建日期实例时将字符串从字符串解析为整数并减去1。

startDate = "2019-03-07 (목) 12:00";

var year = startDate.slice(0,4);
var month = parseInt(startDate.slice(5,7))
var day = startDate.slice(8,10);
var hour = startDate.slice(15,17);
var minute = startDate.slice(18,20);

var selEndDatetime = new Date(year, month - 1, day, hour, minute);
console.log(selEndDatetime);

1
投票

你可以简单地将startDate字符串作为参数传递给Date以创建selEndDatetime

码:

const startDate = '2019-03-07 (목) 12:00';
const selEndDatetime = new Date(startDate);

console.log(selEndDatetime);
© www.soinside.com 2019 - 2024. All rights reserved.