循环显示日期并打印格式化日期

时间:2015-03-03 04:56:07

标签: javascript jquery

    for(i=0;i<30;i++){

    }

    var d = new Date();
    var curr_date = d.getDate();
    var curr_month = d.getMonth() + 1;
    var curr_year = d.getFullYear();
    var formatedDate = curr_date + '/' + curr_month + '/' + curr_year;

我被困了,我怎么能在接下来的30天打印出来?

例如2015年3月3日,2015年4月3日,2015年5月3日等等。

7 个答案:

答案 0 :(得分:1)

var d = new Date();
var curr_month = d.getMonth();
curr_month = curr_month + 1;
var curr_date = d.getDate();

for( i = curr_date; i <= 31; i++ ){
   var curr_year = d.getFullYear();
   var date = curr_date + '/' + curr_month + '/' + curr_year;
   curr_date++;
   console.log(date);
 }

试试这个。它对我有用。

demo link

答案 1 :(得分:0)

试试这个:

 var d = new Date();
var curr_day = d.getDate();
for(i=0;i<30;i++){




     curr_day = curr_day+1;
    var curr_month = d.getMonth() + 1;
    var curr_year = d.getFullYear();
    var newDate = new Date(curr_year,curr_month,curr_day)
    var formatedDate = newDate.getDate() + '/' + newDate.getMonth() + '/' + newDate.getFullYear();
   formatedDate;
   }

您需要增加日变量

答案 2 :(得分:0)

您可以将所有代码放在循环中的循环内,然后为每次迭代添加一天到Date对象。 (加24 * 60 * 60 * 1000)

var ONE_DAY = 24 * 60 * 60 * 1000;


var d = new Date();

for(i=0;i<30;i++) {
  var curr_date = d.getDate();
  var curr_month = d.getMonth() + 1;
  var curr_year = d.getFullYear();
  var formatedDate = curr_date + '/' + curr_month + '/' + curr_year;
  d = new Date(d.getMilliseconds() + ONE_DAY);
}

我可能会选择稍微不同的样式,但这是与您编写的代码相关的一种方式。

另外,我没有足够的声誉来评论,但是pedrumj的另一个解决方案与我的非常相似,但请记住它实际上是在第一天跳过(新的日期应该在结束时分配)环)

答案 3 :(得分:0)

Demo here

使用此

var d = new Date();
var curr_month = d.getMonth();
for(i=0;i<30;i++){
var curr_date = d.getDate();
var curr_month = curr_month + 1;
var curr_year = d.getFullYear();
var Printdate = curr_date + '/' + curr_month + '/' + curr_year;
console.log(Printdate);
 }

答案 4 :(得分:0)

您可以在每个循环中将日期字段缩短1天,如下所示:

var d = new Date(1425356823380);

for(i = 0; i < 30; i++){
    var date = d.toLocaleDateString();
    // code
    d.setDate(d.getDate()+1);
}

这是fiddle

答案 5 :(得分:0)

你的for循环不会循环任何东西。您应该先设置固定变量,然后遍历您想要更改的变量。

for(i=0;i<30;i++){

}

var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth() + 1;
var curr_year = d.getFullYear();
var formatedDate = curr_date + '/' + curr_month + '/' + curr_year;

像这样:

var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth();
var curr_year = d.getFullYear();
var curr_day = d.getDay();
var formatedDate = curr_month + '/' + curr_day + '/' + curr_year;
for(i=0;i<30;i++){
    curr_day++;
    formattedDate = curr_month + '/' + curr_day + '/' + curr_year;
    console.log(formattedDate);
}
心灵,二月只有29天。

有关详细信息,请参阅Docs。您可能只想使用能够处理日期发生的所有奇怪边缘情况的库,例如MomentJS

答案 6 :(得分:0)

for(var i=0;i<30;i++){    
    var start = new Date();
    var next = new Date();
    next.setDate(start.getDate() + i);
    var date_str=next.getDay()+"/"+next.getMonth()+"/"+next.getFullYear()
    console.log(next);
}

您可以根据需要设置开始日期,下一个日期。