我正在使用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
值?
答案 0 :(得分:0)
也许:
echo 'End Date:'.(isset($events->stop_time) ? substr($events->stop_time, 0, 10) : substr($events->start_time, 0, 10)).'<br />';
答案 1 :(得分:0)
如果停止时间为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 />';
答案 2 :(得分:0)
因为解析没有为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 />';
}