在一个while
循环中,如何仅在存在该日期的情况下显示日期?
例如:如果日期是0000-00-00
,则不显示任何内容。
我目前按照以下方式读取日期,但当日期为0000-00-00
时,我得到的是01-01-1970
:
date('d-m-Y', strtotime($row['date']))
你应该先检查日期字段中是否包含日期或NULL。根据结果,你可以读取日期。
while ($row = mysql_fetch_array($result)) {
if (strtotime($row['date']) != '0000-00-00') {
mydate = date('d-m-Y', strtotime($row['date']));
} else {
mydate = '';
}
}
试一下这个,对我有效
while($row = mysql_fetch_array($result)){
if(strtotime($row['date']) > 0){
echo date('d-m-Y', strtotime($row['date']));
}else{
echo 'Date not valid or null';
}
}
while($row = mysql_fetch_array($result)){
if($row['date'] != '0000-00-00'){ // string comparison to see if set or not
echo date('d-m-Y', strtotime($row['date']));
}
}
if(!empty((int)$row['date']))
{
echo "NOT empty";
}
else echo "EMPTY";
或者简短的版本:
!empty((int)$row['date']) ? echo "NOT empty" : echo "EMPTY";
0
、-
、:
和
值,然后检查是否为空。if (empty(str_replace(array("0", "-", ":", " "), "", $mydate)))
{
echo "empty date";
}
else
{
echo "not empty date";
}
试试这个
foreach($row As $rows){
if(strtotime($rows['date']) == ''){
echo "N/A";
}else{
echo date('d-m-Y', strtotime($rows['date']));
}
echo "<br/>";
}
strtotime("0000-00-00")和("")是相等的。
strtotime('0000-00-00')
在我的环境下返回了 -62169984000
。 - ianbarker