通过使用php删除重复的部分来缩短两个日期

时间:2018-10-04 10:06:17

标签: php string date

有没有写两个日期而不重复不必要信息的函数或简写?

例如,如果我通过日期函数打印出2个日期,例如

  

2018年10月4日至2018年10月12日

有什么方法可以排除重复信息?在这种情况下,我要写出来的是

  

2018年10月4日至12日

因为重复了月份和年份,但我不是要只使用日运算符写出第一个日期。因此,是否有可能了解是否也需要写出月份

例如,

  

2018年10月29日-2018年11月3日

成为

  

2018年10月29日至11月3日

因为日期和月份不同,但年份不同。

有没有办法做到这一点?

1 个答案:

答案 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中查看结果