szymat/date-time-interval-advanced

字符串日期区间的高级使用

1.0.1 2021-08-06 21:36 UTC

This package is auto-updated.

Last update: 2024-09-07 04:33:19 UTC


README

提供更灵活的日期区间使用的包。 getDate 可以与任何实现了 DateInterval 接口的类一起工作。

安装

composer require szymat/date-time-interval-advanced

格式

-P*|H:i:s

`-` => defines if period will be added or subtracted
`P*` => Standard PHP DateInterval format 
'|H:i:s' => (optional) `|` separator with fixed time to set 

日期区间格式

示例

// Can be also DateTime object
$date = new DateTimeImmutable('2021-05-12 13:43:10');
$interval = new Interval\Interval('-P1D|23:59:59');
$newDate = $interval->getDate($date); // Will return new object
echo $date->format('Y-m-d H:i:s') . ' => '.$newDate->format('Y-m-d H:i:s') . "\n";

将输出

2021-05-12 13:43:10 => 2021-05-11 23:59:59
$date = new DateTimeImmutable('2021-05-12 13:43:10');
$interval = new Interval\Interval('P15D|14:00');
$newDate = $interval->getDate($date);
echo $date->format('Y-m-d H:i:s') . ' => '.$newDate->format('Y-m-d H:i:s') . "\n";

将输出

2021-05-12 13:43:10 => 2021-05-27 14:00:10
$date = new DateTimeImmutable('2021-05-12 13:43:10');
$interval = new Interval\Interval('-P5D');
$newDate = $interval->getDate($date);
echo $date->format('Y-m-d H:i:s') . ' => '.$newDate->format('Y-m-d H:i:s') . "\n";

将输出

2021-05-12 13:43:10 => 2021-05-07 13:43:10