palmtree / chrono
日期和时间库
v0.3.1
2018-12-30 13:22 UTC
Requires
- php: >=7.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.13
- phpunit/phpunit: ~7.5
This package is auto-updated.
Last update: 2024-09-19 10:02:11 UTC
README
需求
- PHP >= 7.1
安装
使用composer将包添加到依赖中
composer require palmtree/chrono
使用方法
日期比较
<?php use Palmtree\Chrono\Date; $date = new Date('2019-01-01'); $date->format('d/m/Y'); $anotherDate = new Date('2019-02-01'); $date->isSame($anotherDate, 'year'); // returns true $date->isSame($anotherDate, 'month'); // returns true $date->isSame($anotherDate, 'day'); // returns false $date->isBefore($anotherDate); // returns true $date->isAfter($anotherDate); // returns false // returns true if the date object represents the current date $date->isToday();
日期操作
<?php use Palmtree\Chrono\Date; $date = new Date('2019-01-01'); $date->add(10, 'day'); $date->format('Y-m-d'); // returns '2019-01-11' $date->subtract(1, 'month'); $date->format('Y-m-d'); // returns '2018-12-11'
时间比较
<?php use Palmtree\Chrono\Time; $time = new Time('13:00:03'); $time->format('H:i'); $anotherTime = new Time('13:02:01'); $time->isSame($anotherTime, 'hour'); // returns true $time->isSame($anotherTime, 'minute'); // returns false $time->isBefore($anotherTime); // returns true $time->isAfter($anotherTime); // returns false
时间操作
<?php use Palmtree\Chrono\Time; $time = new Time('13:00:00'); $time ->add(1, 'hour') ->add(30, 'minute') ->add(15, 'second'); $time->format('H:i:s'); // returns '14:30:15' $time->subtract(15, 'second'); $time->format('H:i:s'); // returns '14:30:00'
DateTime比较
<?php use Palmtree\Chrono\DateTime; $dateTime = new DateTime('2019-01-01 12:30:00'); $dateTime->format('d/m/Y H:i'); // returns 01/01/2019 12:30 $anotherDateTime = new DateTime('2019-01-01 12:30:01'); $dateTime->isSame($anotherDateTime); // returns false $dateTime->isSame($anotherDateTime, 'day'); // returns true $dateTime->isSame($anotherDateTime, 'hour'); // returns true $dateTime->isSame($anotherDateTime, 'minute'); // returns true $dateTime->isBefore($anotherDateTime); // returns true $dateTime->isAfter($anotherDateTime); // returns false
最小/最大
存在辅助方法,可以返回一组日期中的最早日期
<?php use Palmtree\Chrono\Date; $jan = new Date('2019-01-01'); $feb = new Date('2019-02-01'); $march = new Date('2019-03-01'); $minDate = Date::min($jan, $feb, $march); return $minDate === $jan; // returns true;
以及最新日期
<?php use Palmtree\Chrono\Date; $jan = new Date('2019-01-01'); $feb = new Date('2019-02-01'); $march = new Date('2019-03-01'); $maxDate = Date::max($jan, $feb, $march); return $maxDate === $march; // returns true;
使用...
(splat)操作符将日期数组传递给min或max方法
<?php use Palmtree\Chrono\Date; $dates = [new Date('2019-01-01'), new Date('2019-02-01')]; $minDate = Date::min(...$dates); return $minDate === $dates[0]; // returns true;
先例
受momentjs JavaScript库的启发。
许可证
在MIT许可证下发布