danharper / dti
将 ISO 8601 日期、持续时间字符串和间隔字符串解析为 DateTime 对象
v1.0.0
2015-11-11 23:44 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: ^4.8
This package is auto-updated.
Last update: 2024-09-05 09:39:18 UTC
README
解析 ISO 8601 日期和间隔。
安装
通过 Composer 安装,将以下行添加到 composer.json 中的依赖项中
danharper/dti: "~1.0"
然后运行 composer install
/composer update
使用方法
$dti = new danharper\DTI;
传递单个 ISO 8601 日期时间字符串,将提供包含该时间的数组以及当前时间。
list($from, $to) = $dti->parse('2007-03-01T13:00:00Z');
传递单个 ISO 8601 持续时间字符串,将从当前时间减去该持续时间。
list($from, $to) = $dti->parse('PT2H30M'); // from is set to 2h30m before the current time
可选地,向 parse()
提供默认时间,而不是当前时间
$dti->parse('PT2H30M', new DateTime('2001-01-01'));
传递由两个日期时间组成的 ISO 8601 持续时间字符串,将提供这两个日期时间。
$dti->parse('2007-03-01T13:00:00Z/2008-05-11T15:30:00Z');
由日期时间和持续时间组成的持续时间字符串将提供提供的时间,以及加上持续时间的时间。
$dti->parse('2007-03-01T13:00:00Z/P1Y2M10DT2H30M');
反过来,将提供减去持续时间的时间以及原始时间。
$dti->parse('PT2H30M/2007-03-01T13:00:00Z');