我有一些以Y-m-d格式表示的日期数组,其中可能包含十个相隔一天的日期。例如,以下是完整的日期集合:
2011-01-01, 2011-01-02, 2011-01-03, 2011-01-04, 2011-01-05, 2011-01-06, 2011-01-07, 2011-01-08, 2011-01-09, 2011-01-10
从该集合创建的数组可以是任意组合的日期--所有日期、一个日期、一些连续的日期、全部连续的日期等。
目前,我将它们输出为它们返回的形式。例如,这里是可能的结果:
2011-01-02
2011-01-03
2011-01-04
2011-01-08
(实际输出的内容更像“星期五,1月2日……”,但我们将保持简单的日期字符串)
我想将其压缩,使得如果有三个或更多连续的日期,则它们将成为一个范围,例如上面的例子将变为:
2011-01-02 至 2011-01-04
2011-01-08
最终会变成:
周日,1月2日 - 周二,1月4日
周六,1月8日
是否有一种方法可以循环检查时间差异、创建范围的开始时间和结束时间,然后收集零散的日期?
2011-01-01, 2011-01-02, 2011-01-03, 2011-01-04, 2011-01-05, 2011-01-06, 2011-01-07, 2011-01-08, 2011-01-09, 2011-01-10
从该集合创建的数组可以是任意组合的日期--所有日期、一个日期、一些连续的日期、全部连续的日期等。
目前,我将它们输出为它们返回的形式。例如,这里是可能的结果:
2011-01-02
2011-01-03
2011-01-04
2011-01-08
(实际输出的内容更像“星期五,1月2日……”,但我们将保持简单的日期字符串)
我想将其压缩,使得如果有三个或更多连续的日期,则它们将成为一个范围,例如上面的例子将变为:
2011-01-02 至 2011-01-04
2011-01-08
最终会变成:
周日,1月2日 - 周二,1月4日
周六,1月8日
是否有一种方法可以循环检查时间差异、创建范围的开始时间和结束时间,然后收集零散的日期?