我想比较,日期是否大于当前日期。白天和月份!
如果我只与月份比较,我得到了这个输出,这是正确的:
Chichiri:2014年11月8日 Rokno2h:14.11.2014 Sasch79_AUT:29.11.2014 桑尼:2014年12月8日 马雷克:2014年12月31日 Fuchs:2014年12月31日 hauni89:2014年12月31日 RIX1287:2014年12月31日
但是我想比较日期和月份,以便前两个出现在列表中,因为他们的生日已经过去了。但是我得到了以下输出:
haislpunk:29.03.2014 Vastl:2014年4月19日 Luckypunch10:2014年4月22日 DaveMetz:2014年4月25日 Ghoost:24.06.2014 RoxoriO_AUT:18.08.2014 Alchemagi:2014年8月21日 Shizophren83:29.08.2014 FatePhoenix:29.09.2014 Testaccount:21.10.2014 wernoid:23.10.2014 bAc-Maus:25.10.2014 吉尼巴尔:2014年10月25日 CrySix1992:28.10.2014 Sasch79_AUT:29.11.2014 马雷克:2014年12月31日 Fuchs:2014年12月31日 hauni89:2014年12月31日 RIX1287:2014年12月31日
这是我的日期代码(' d.m'),但不起作用。日期(' m')与月份一起使用:
while($row = mysql_fetch_array($test_result)){
$curr_date = date('d.m');
$date = $row['value'];
$dateFormatted = date('d.m', strtotime($date));
//echo $dateFormatted . ' *** ' . $curr_date . '<br>';
//wenn Geburtsmonat > aktueller Monat dann anzeigen! sonst nicht!
if($dateFormatted >= $curr_date){
echo $row['username'] . ' : ';
echo date('d.m.', strtotime($date)) . date('Y');
echo '<br />';
}
}
我必须从数据库转换日期,因为它在数据库中保存为文本类型。 我在这个相关的问题中解决了这个问题。 Mysql Text to Date won't work
答案 0 :(得分:0)
您需要使用日期对象并使用date_create
函数将字符串转换为日期格式。
以下是此案例的工作函数:
public function cmpDates($date1, $date2)
{
$date1 = date_create($date1);
$date2 = date_create($date2);
$diff = date_diff($date1, $date2);
return $diff;
}
答案 1 :(得分:0)
错误的比较,应比较格式为'm.d'
,不&#39; d.m&#39; (你比较字符串)。