我对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
答案 0 :(得分:4)
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