deviscoding/arranged

PHP 库,用于管理日期格式以及日期期间的格式化和简化。

1.1.2 2023-12-06 05:36 UTC

This package is auto-updated.

Last update: 2024-09-06 07:21:39 UTC


README

PHP 库,用于管理日期格式以及日期期间的格式化。

格式化功能

使用 DevCoding\Arranged\Helper\DatePeriodFormatter::format 方法,可以使用与 \DateTimeInterface::format 方法相同的占位符来格式化原生 PHP DatePeriod 对象。结束日期字符串将被修改以移除任何冗余部分。例如,如果起始日期和结束日期在同一天,整个日期将从结束日期字符串中删除。更多示例,请参阅 format 方法。

简化功能

使用 DevCoding\Arranged\Helper\DatePeriodFormatter::reduce 方法,可以使用与 \DateTimeInterface::format 方法相同的占位符来格式化原生 PHP DatePeriod 对象,然后将其长度缩短到特定长度或尽可能短。例如,如果起始或结束时间在小时开始,并且格式字符串中包含分隔符,则分隔符和 00 将被移除。更多示例,请参阅 reduce 方法。

便捷类

为了方便,DevCoding\Arranged\Object\DatePeriod 类扩展了原生 PHP DatePeriod 类,并添加了 formatreduce 方法,这些方法利用了来自 DevCoding\Arranged\Helper\DatePeriodFormatter 的方法。

安装与使用

通过 composer 简单安装 composer require deviscoding/arranged

使用简单

$StartDate  = new \DateTime('2021-01-06 14:20:00')
$EndDate    = new \DateTime('2021-01-06 23:32:00');
$Interval   = new \DateInterval('PT15M');
$DatePeriod = new \DevCoding\DevCoding\Object\Date\DatePeriod($StartDate, $Interval, $EndDate);
$formatted  = $DatePeriod->format('l, F dS g:ia');
$reduced    = $DatePeriod->reduce('l, F dS g:ia', 40);
$further    = $DatePeriod->reduce('l, F dS g:ia');
echo $formatted.' OR '.$reduced.' OR '.$further;

上面的代码应打印出 星期三,1月6日 2:20pm-11:30pm 或 星期三,1月6日 2:20-11:30pm 或 Wed, Jan 6th, 2:20-11:30pm

依赖项

除了 PHP 7+ 之外,此库没有其他依赖项。

表示感谢

说实话,只需告诉朋友这个库就令人兴奋。嗯,那是,如果我知道的话。所以,也许可以给仓库点个赞,在推特中提及 @jonesiscoding,或者通过源代码中找到的电子邮件地址联系我。

我喜欢编码到足以让编码本身成为回报的程度,但编写无人见或使用过的代码相当无聊。如果这个小库在原始用例之外得到一些使用,我将非常高兴。