我正在尝试用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)
答案 0 :(得分:1)
您可以使用.getDate()
获取Date对象所代表的月份日期。例如:
var date = new Date();
date.setDate(date.getDate() + 1); console.log(date.getDate())
要模拟PHP的P
选项,一个很好的起点是date.getTimezoneOffet()
,但这不包括与PHP一样的正确格式。
答案 1 :(得分:1)
如前所述,Toastrackenigma可以使用:getDate()来只检索你想要的东西。 但是为了操纵日期,我可以建议你这个很棒的库:https://momentjs.com/这真的很有用。
答案 2 :(得分:0)
感谢@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天