我正在努力争取从今天起90天之后的一天。这是我的代码:

var today = new Date();
var threeMonthsFromToday = new Date(today.setDate(today.getDate() + 90));


当我打印threeMonthsFromToday时,我得到正确的日期:2017-04-24T15:17:42.641Z。但是,当我尝试使用以下代码将日期重新格式化为dd/mm/yyyy格式时:

var day = ('0' + threeMonthsFromToday.getDate()).slice(-2);
var month = ('0' + threeMonthsFromToday.getMonth() + 1).slice(-2);
var year = threeMonthsFromToday.getFullYear();
var date = day + '/' + month + '/' + year;


我得到了一个完全不同且无效的日期:24/31/2017

我已经调试了几个小时,但似乎仍然无法弄清我做错了什么。

最佳答案

好吧,'0' + threeMonthsFromToday.getMonth()给您一个字符串:"03"然后您将1转换为字符串,然后在切片前一个月给您"031"

用这个 :

var month = ('0' + (threeMonthsFromToday.getMonth() + 1)).slice(-2);

09-20 18:42