Новая дата не может дать мне правильное время - PullRequest
0 голосов
/ 07 марта 2019
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);

Я хочу увидеть «Вторник марта 07 2019 12:00:00 по Гринвичу + 0900 (한국 표준시)», но консоль показывает мне сообщение «Вс 7 апреля 2019 12:00:00 по Гринвичу + 0900 (한국 표준시)» .

Что плохого в этом коде и как я могу изменить его, чтобы получить желаемый результат?

Ответы [ 2 ]

3 голосов
/ 07 марта 2019

Месяц начинается с 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 голос
/ 07 марта 2019

Вы можете просто передать строку startDate в качестве аргумента Дата , чтобы создать selEndDatetime

Код:

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

console.log(selEndDatetime);
...