apie/date-value-objects

apie库的Composer包:日期值对象

dev-main 2022-09-07 14:00 UTC

This package is auto-updated.

Last update: 2024-09-16 14:59:56 UTC


README

date-value-objects

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require Code coverage

PHP Composer

此包是Apie库的一部分。代码在单仓库中维护,因此需要将PR发送到单仓库

文档

此包包含许多与日期相关的值对象。为什么要在PHP中使用这些值对象而不是DateTimeImmutable?问题是DateTime总是包含天、月、年、分钟、秒、小时、时区和微秒。但在大多数情况下,我们只使用其中一些。

通过使用这些值对象替代PHP的datetime对象,我们可以确定预期的日期格式是否真的使用了所有这些属性。

可用类

DateWithTimezone: 包含年、月、日、小时、秒以及时区。它们应该以DateTime::ATOM格式为标准。

HourAndMinutes: 包含只有小时和分钟的戳记。仍然可以调用nextMinute 60次或nextSecond 3600次来推进一小时。

LocalDate: 包含以本地日期格式表示的日期,例如'2002-12-31'表示2002年12月31日。

Time: 包含只有小时、分钟和秒的戳记。

UnixTimestamp: 包含Unix时间戳。

接口

WorksWithDays: 包含处理天的方法列表。

WorksWithMonths: 包含处理月的方法列表。内部存储了一个未规范化的天值,以防有人连续多次使用nextMonth()或previousMonth()。

WorksWithTimeIntervals: 包含处理时间间隔的方法列表。

WorksWithYears: 包含处理年份计算的方法列表。