繁体   English   中英

用JS显示9天数字

[英]Display 9 day numbers with JS

我正在尝试用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>';
}

这是我在JS中发现的:

var date = new Date();
date.setDate(date.getDate() + 1); console.log(date)

但这将显示整个日期,例如:2018年2月21日星期三11:23:30 GMT + 0100(CET)

如何只显示日期? (21)

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

var date = new Date();
date.setDate(date.getDate() + 1); console.log(date.getDate())

要模拟PHP的P选项,一个很好的起点是date.getTimezoneOffet() ,但是这将不包括PHP那样的正确格式。

有关更多信息,请参阅docs 您可能还会发现此列表更有帮助。

如Toastrackenigma先前所述,您可以使用:getDate()仅检索您想要的内容。 但是对于日期的操作,我可以建议您使用一个很棒的库: https : //momentjs.com/ ,它确实很有用。

感谢@Toastrackenigma(.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天,+ 4天

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM