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(韩国标准时间)”。
这段代码有什么问题,如何修改它以获得所需的输出?
月份从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);
你可以简单地将startDate
字符串作为参数传递给Date以创建selEndDatetime
码:
const startDate = '2019-03-07 (목) 12:00';
const selEndDatetime = new Date(startDate);
console.log(selEndDatetime);