inthere/datetime-range

为Postgres数据库提供解析或构建tstzranges的功能

2.1.0 2021-02-08 11:55 UTC

This package is auto-updated.

Last update: 2024-09-15 19:20:49 UTC


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 - “通过游戏进行培训的公司” - 通过提供基于严肃游戏的微培训概念,加快了团队培训和变革过程。