Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用JS显示9天的数字_Javascript_Php_Date_Date Formatting - Fatal编程技术网

Javascript 用JS显示9天的数字

Javascript 用JS显示9天的数字,javascript,php,date,date-formatting,Javascript,Php,Date,Date Formatting,我试图用js显示9天的数字 使用PHP时,它将如下所示: for($i = 0; $i < 4; $i++){ $date = new DateTime(); $date->sub(new DateInterval('P'.(4 - $i).'D')); echo '<span class="day_nr">'.$date->format('d').'</span>'; } $date = new DateTime(); ech

我试图用js显示9天的数字

使用PHP时,它将如下所示:

for($i = 0; $i < 4; $i++){
    $date = new DateTime();
    $date->sub(new DateInterval('P'.(4 - $i).'D'));
    echo '<span class="day_nr">'.$date->format('d').'</span>';
}

$date = new DateTime();
echo '<span class="selected_day_nr day_nr">'.$date->format('d').'</span>';

for($i = 1; $i < 5; $i++){
    $date = new DateTime();
    $date->add(new DateInterval('P'.$i.'D'));
    echo '<span class="day_nr">'.$date->format('d').'</span>';
}
但这将显示整个日期,如:Wed Feb 21 2018 11:23:30 GMT+0100(CET)

如何仅显示日期号?(21)

您可以使用
.getDate()
获取日期对象表示的月份的日期。例如:

var date = new Date();
date.setDate(date.getDate() + 1); console.log(date.getDate())
要模拟PHP的
p
选项,一个好的起点应该是
date.getTimezoneOffet()
,但是这不包括与PHP相同的正确格式


有关更多信息,请查看。您可能还会发现一些更有用的信息。

感谢@Toastrackenigma for(.getDate())

这就是循环的工作原理:

//4 days back
var date = new Date();
for(i = -4; i < 0; i++){
    var date = new Date();
    date.setDate(date.getDate() + i);
    $('.panel-body .row .cold-12').append('<span class="day_nr">'+date.getDate()+'</span>');
}

//Today
var date = new Date(); 
$('.panel-body .row .cold-12').append('<span class="selected_day_nr day_nr">'+date.getDate()+'</span>');

//4 days forward
var date = new Date();
for(i = 1; i < 5; i++){
    var date = new Date();
    date.setDate(date.getDate() + i);
    $('.panel-body .row .cold-12').append('<span class="day_nr">'+date.getDate()+'</span>');
}
//4天前
变量日期=新日期();
对于(i=-4;i<0;i++){
变量日期=新日期();
date.setDate(date.getDate()+i);
$('.panel body.row.cold-12').append(''+date.getDate()+'');
}
//今天
变量日期=新日期();
$('.panel body.row.cold-12').append(''+date.getDate()+'');
//提前4天
变量日期=新日期();
对于(i=1;i<5;i++){
变量日期=新日期();
date.setDate(date.getDate()+i);
$('.panel body.row.cold-12').append(''+date.getDate()+'');
}

控制台:-4天,+4天

正如ToasTrackingma之前所说,您可以使用:getDate()仅检索您想要的内容。
但是对于日期的操纵,我可以建议您使用很棒的库:它非常有用。

@Syscall我去过那里,但不了解它。很抱歉,我删除了我的评论。。。在左侧,您可以看到
Date
对象的所有属性和方法,以及示例。
//4 days back
var date = new Date();
for(i = -4; i < 0; i++){
    var date = new Date();
    date.setDate(date.getDate() + i);
    $('.panel-body .row .cold-12').append('<span class="day_nr">'+date.getDate()+'</span>');
}

//Today
var date = new Date(); 
$('.panel-body .row .cold-12').append('<span class="selected_day_nr day_nr">'+date.getDate()+'</span>');

//4 days forward
var date = new Date();
for(i = 1; i < 5; i++){
    var date = new Date();
    date.setDate(date.getDate() + i);
    $('.panel-body .row .cold-12').append('<span class="day_nr">'+date.getDate()+'</span>');
}