gamajo/daterange

显示日期范围,并合并时间部分。

0.2.0 2018-06-03 18:39 UTC

This package is auto-updated.

Last update: 2024-09-07 21:50:17 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

显示日期范围,并合并时间部分。

目录

安装

使用此包的最佳方式是通过Composer

composer require gamajo/daterange

基本用法

创建一个DateRange类的实例,以DateTimeImmutableDateTime开始和结束日期时间对象作为参数。然后选择要作为结束日期输出的格式。开始日期将只显示不重复的时间部分。

$dateRange = new DateRange(
    new DateTimeImmutable('23rd June 18 14:00'),
    new DateTimeImmutable('2018-06-23T15:00')
);
echo $dateRange->format('H:i d M Y'); // 14:00 – 15:00 23 Jun 2018

如果格式化的日期是相同的开始和结束日期,则只显示一个日期

$dateRange = new DateRange(
    new DateTimeImmutable('23rd June 18 14:00'),
    new DateTimeImmutable('2018-06-23T15:00')
);
echo $dateRange->format('jS M Y'); // 23rd Jun 2018

高级用法

更改分隔符

开始和结束日期之间的默认分隔符是一个空格,短横线,空格:' – '

这可以通过changeSeparator()方法进行更改

$dateRange = new DateRange(
    new DateTimeImmutable('23rd June 18 14:00'),
    new DateTimeImmutable('2018-06-23T15:00')
);
$dateRange->changeSeparator(' to ');
echo 'From ', $dateRange->format('H:i d M Y'); // From 14:00 to 15:00 23 Jun 2018

更改可删除的分隔符

合并和删除某些时间部分可能会留下格式中的分隔符

$dateRange = new DateRange(
    new DateTimeImmutable('23rd June 18'),
    new DateTimeImmutable('2018-06-24')
);
echo $dateRange->format('d·M·Y'); //  23·· – 24·Jun·2018

默认情况下,/-.从开始日期中删除,但可以使用changeRemovableDelimiters()方法进行修改

$dateRange = new DateRange(
    new DateTimeImmutable('23rd June 18'),
    new DateTimeImmutable('2018-06-24')
);
$dateRange->changeRemovableDelimiters('·');
echo $dateRange->format('d·M·Y'); //  23 – 24·Jun·2018

已知问题

这些是需要解决已知问题,才能考虑此包稳定的问题

贡献

欢迎所有反馈、错误报告和pull请求。

许可

版权(c)2018 Gary Jones,Gamajo

此代码根据MIT许可授权。