ottosmops / antondate
用于 Anton 的日期
v0.0.4
2023-01-11 11:29 UTC
Requires
Requires (Dev)
- orchestra/testbench: ^7
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-04 14:26:28 UTC
README
在 Anton 中使用日期 (anton.ch).
安装
通过 Composer
$ composer require ottosmops/antondate
将 date_start
、date_start_ca
、date_end
、date_end_ca
添加到数据库表中。
将类型转换添加到模型中
protected $casts = [ 'anton_date_interval' => AntonDateIntervalCast::class, 'anton_date_start' => AntonDateStartCast::class, 'anton_date_end' => AntonDateEndCast::class, ];
使用方法
该包涵盖两个 ValueObjects:AntonDate,AntonDateInterval(由两个 AntonDate 组成)。
创建一个 AntonDate
AntonDate::createFromString('1995-03-01', 1) : AntonDate // ca. 1995-03-01 AntonDate::guessFromString('4. Mai 1905') : AntonDate // 1905-05-04 AntonDate::compose(1973, 12, 3, 1) : AntonDate // ca. 1973-12-03 AntonDate::today() : AntonDate
验证
AntonDate::isValidString('1997-13-01'); // false AntonDate::isValidString('ca. 1997-11-01'); // true
获取
$antondate->toString(); $antondate->toArray(); $antondate->formatted(); $antondate->toMysqlDate(); $antondate->getCa(); $antondate->getYear(); $antondate->getMonth(); $antondate->getDay();
比较
$antondate->isEqualTo($antondate2, true); // compare with ca
$antondate->isEqualTo($antondate2); // compare without ca
$antondate->isGreaterThan($antondate2);
$antondate->isLessThan($antondate2);
规则
还有一个规则。您可以使用它进行验证:AntonDateRule::class
。
许可证
MIT。请参阅 许可证文件 了解更多信息。