inthere / datetime-range
为Postgres数据库提供解析或构建tstzranges的功能
2.1.0
2021-02-08 11:55 UTC
Requires
- php: ^7.1|^8.0
Requires (Dev)
- phpunit/phpunit: ^9.0
README
Postgres数据库支持范围。本包提供了解析或构建Postgres数据库的tstzranges功能。本包尝试完全支持tstzrange类型的所有功能。我们对null值进行了例外处理,将其解释为“无穷大”。
安装
您可以通过composer安装此包
composer require inthere/datetime-range
使用
$parser = new Parser( '["2015-08-14 16:07:28.956968+02","2018-08-14 16:07:28.956968+02"]', new DateTimeZone('UTC') ); $dateTimeRange = $parser->parse();
这将返回一个DateTimeRange
对象,该对象可以提供下限和上限范围
$lowerRange = $dateTimeRange->getLowerRange(); $upperRange = $dateTimeRange->getUpperRange();
将返回一个包含日期、边界以及知道范围是否为“无穷大”的Range
对象
$lowerRange->isInfinity(); // returns a boolean $lowerRange->getDateTime(); // returns a datetime object or null if infinity $lowerRange->getBoundary(); // returns a boundary object
Boundary
对象确定范围是包含[]还是排除(),以及范围是下限还是上限
$boundary = $lowerRange->getBoundary(); $boundary->isLower(); // returns a boolean (true = lower, false = upper) $boundary->isInclusive(); // returns a boolean (true = inclusive, false = exclusive)
测试
$ vendor/bin/phpunit
贡献者
欢迎贡献。我们接受通过Github的pull requests进行贡献。
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。
关于InThere
InThere - “通过游戏进行培训的公司” - 通过提供基于严肃游戏的微培训概念,加快了团队培训和变革过程。