Странное поведение метода toLocaleString () - PullRequest
0 голосов
/ 27 декабря 2018

Меня немного смущает странное поведение метода toLocaleString.Может кто-нибудь помочь исправить это пожалуйста.

Например следующий код работает правильно:

let value = "2018-11-26T10:00:00.000Z";
let dateValue = new Date(value).toLocaleString('ru-RU');
console.log(dateValue); // return: 26.11.2018, 16:00:00

Этот код возвращает странный результат:

let value = "2018-11-26T10:00:00.000Z";
let dateValue = new Date(value);
let newDateValue = dateValue.setMonth(dateValue.getMonth() + 1).toLocaleString('ru-RU');
console.log(newDateValue); // return: 1 545 818 400 000

Я ожидал, что результат будет 26.12.2018, 16:00:00

1 Ответ

0 голосов
/ 27 декабря 2018

Возвращаемое значение setMonth() является числом, а не Date.Просто используйте вместо этого мутированный dateValue:

let value = "2018-11-26T10:00:00.000Z";
let dateValue = new Date(value);

dateValue.setMonth(dateValue.getMonth() + 1);

let newDateValue = dateValue.toLocaleString('ru-RU');

console.log(newDateValue); // return: 26.12.2018, 16:00:00
...