我试图在每个月的8号添加一个声明,我已经通过多种方式比较日期,但是在正确的日期旁边无法说明。
<?php
$month_arr = Array(
'July' => Array('num_dates'=>0, 'dates'=>Array()),
'August' => Array('num_dates'=>0, 'dates'=>Array()),
'September' => Array('num_dates'=>0, 'dates'=>Array()),
'October' => Array('num_dates'=>0, 'dates'=>Array()),
'November' => Array('num_dates'=>0, 'dates'=>Array()),
'December' => Array('num_dates'=>0, 'dates'=>Array()),
'January' => Array('num_dates'=>0, 'dates'=>Array()) ,
'February' => Array('num_dates'=>0, 'dates'=>Array()),
'March' => Array('num_dates'=>0, 'dates'=>Array()),
'April' => Array('num_dates'=>0, 'dates'=>Array()),
'May' => Array('num_dates'=>0, 'dates'=>Array()),
'June' => Array('num_dates'=>0, 'dates'=>Array())
);
$date_arr = Array();
$date_start = '07/19/2013';
$date_arr[] = date('M j, Y', strtotime($date_start));
for ($i=1; $i<=4; $i++){
$date_temp = date('M j, Y', strtotime($date_arr[$i-1] . " + 14 day"));
$month = date('F', strtotime($date_temp));
$month_arr[$month]['dates'][] = $date_temp;
$month_arr[$month]['num_dates'] += 1;
$date_arr[] = $date_temp;
}
foreach ($month_arr as $k => $v){
if (!empty($v)){
if ($v['num_dates'] != 0){
echo "<BR><BR>Month: " . $k;
echo "<BR>No. of dates: " . $v['num_dates'];
foreach ($v['dates'] as $k1=>$v1){
echo "<BR>" .$v1;
$event = 'Aug 8, 2013';
if($event>$v && !($event<$v1)) {
echo "Event belongs here on $v1";
}
else {
echo "Event does not belongs here it's to late on the on $v1";
}
}
}
}
}
?>
该印刷品将于2013年8月2日/ 2013年8月16日/ 2013年8月30日/ 2013年9月13日。我希望它能够在2013年8月2日旁边进行,因为其余的日期已经太晚了。
答案 0 :(得分:0)
以下是您的拼写错误。它应该是$v1
而不是$v
:
$event = 'Aug 8, 2013';
if($event>$v && !($event<$v1)) {
echo "Event belongs here on $v1";
}else {
echo "Event does not belongs here it's to late on the on $v1";
}
此外,您正在比较字符串值。您需要将它们转换为可以比较的内容,例如时间戳:
$event = strtotime('Aug 8, 2013');
$vts = strtotime($v1);
if($event > $vts) {
echo "Event belongs here on $v1";
}else {
echo "Event does not belongs here it's to late on the on $v1";
}