【发布时间】:2015-10-23 01:32:49
【问题描述】:
我需要一些帮助。看起来很简单,但我无法正确完成。 这是我的 XML 的结构
<events>
<Show ID="1">
<Time>2013-01-05 17:30:00</Time>
</Show>
<Show ID="2">
<Time>2013-01-05 20:30:00</Time>
</Show>
<Show ID="3">
<Time>2013-01-06 17:30:00</Time>
</Show>
<Show ID="4">
<Time>2013-01-06 20:30:00</Time>
</Show>
<Show ID="5">
<Time>2013-01-06 21:30:00</Time>
</Show>
<Show ID="6">
<Time>2013-01-07 15:30:00</Time>
</Show>
</events>
现在我需要做的是将“时间”元素拆分为两个值:日期和时间:
<?php $xml = simplexml_load_file('file.xml');
foreach ( $xml->Show as $Show )
{
// ...
foreach ( $Show->Time as $Date )
{
$Timecon = date_create_from_format('Y-m-d H:i:s', $Date);
$day = date_format($Timecon, 'd.m.');
$hours = date_format($Timecon, 'H:i');
}
}
?>
我省去了其余的代码,因为我实际上已经废弃了它 - 反正它是错误的,而且我是一个菜鸟: 将 $Date 格式化为 $day 和 $hours 效果很好,但是对于分组 - 无论我做什么,这就是我得到的:
05.01。 17:30
05.01。 20:30
06.01。 17:30
06.01。 20:30
06.01。 21:30
07.01。 15:30
这正是我需要的,因为 XML 可能会变得很长:
05.01。 17:30 20:30
06.01。 17:30 20:30 21:30
07.01。 15:30
如您所见,我希望将 $hours 按 $day 分组,或者更确切地说,跳过/删除每个重复的 $day。 我更喜欢用 PHP 来做这件事,而不是 XSL。
是的,我用谷歌搜索了几个小时,因为没有得到它而感到非常愚蠢。感谢您的帮助!
【问题讨论】:
-
我提供了一个答案,澄清了一些日期操作的东西,但我不确定我是否完全理解你想要做什么。