deviscoding / arranged
PHP 库,用于管理日期格式以及日期期间的格式化和简化。
Requires
- php: >=7.0
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
类,并添加了 format
和 reduce
方法,这些方法利用了来自 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,或者通过源代码中找到的电子邮件地址联系我。
我喜欢编码到足以让编码本身成为回报的程度,但编写无人见或使用过的代码相当无聊。如果这个小库在原始用例之外得到一些使用,我将非常高兴。