有没有写两个日期而不重复不必要信息的函数或简写?
例如,如果我通过日期函数打印出2个日期,例如
2018年10月4日至2018年10月12日
有什么方法可以排除重复信息?在这种情况下,我要写出来的是
2018年10月4日至12日
因为重复了月份和年份,但我不是要只使用日运算符写出第一个日期。因此,是否有可能了解是否也需要写出月份
例如,
2018年10月29日-2018年11月3日
成为
2018年10月29日至11月3日
因为日期和月份不同,但年份不同。
有没有办法做到这一点?
答案 0 :(得分:1)
使用explode()
分割日期,并使用for
遍历返回数组。循环检查日期中的每个项目是否相同,将其从数组中删除。循环后,使用implode()
将数组转换为字符串。
$date = "29th October 2018";
$date2 ="3rd November 2018";
$exp = explode(" ", $date);
$exp2 = explode(" ", $date2);
for($i=sizeof($exp)-1; $i>0; $i--)
if ($exp[$i] == $exp2[$i])
unset($exp[$i]);
$newDate = implode(" ", $exp)." - ".implode(" ", $exp2);
// 29th October - 3rd November 2018
在demo中查看结果