我正在使用simpleXML解析XML文件,以从以下数据属性中获取日期:
<start_time>2012-01-22 09:00:00</start_time>
<stop_time>2012-03-18 15:00:00</stop_time>
使用这个:echo 'Start Date:'.substr("$events->start_time", 0, 10).'<br />';
echo 'End Date:'.substr("$events->stop_time", 0, 10).'<br />';
我的问题是,在一些条目上,没有给出stop_time
值,当解析xml时,它在没有任何东西的情况下提取0000-00-00
。简单地说,这意味着start_time
和stop_time
在xml文件中出现时是同一天。
我的问题:如何将start_time
设置为stop_time
没有给定值的条目的stop_time
值?
maybe:
echo 'End Date:'.(isset($events->stop_time) ? substr($events->stop_time, 0, 10) : substr($events->start_time, 0, 10)).'<br />';
如果停止时间为0000-00-00,则可以使用简单的三进制将输出替换为开始时间:
echo 'Start Date:'.substr("$events->start_time", 0, 10).'<br />';
echo 'End Date:'.$events->stop_time == "000-00-00" ? substr("$events->start_time", 0, 10) : substr("$events->stop_time", 0, 10).'<br />';
这样做是因为解析没有为stop_time设置值:
//End Date
if ($enddate = substr("$events->stop_time", 0, 10)) {
echo '<strong>End Date:</strong>'.substr("$events->stop_time", 0, 10).'<br />';
} else {
echo '<strong>End Date:</strong>'.substr("$events->start_time", 0, 10).'<br />';
}