twipsi / chronos
提供了一种简化的接口来操作时间
1.0.0
2022-10-27 10:23 UTC
Requires
- php: >=8.1
Requires (Dev)
- phpunit/phpunit: ^9.3
README
简单的操作时间类
安装
composer require twipsi/chronos
初始化类
您可以设置初始日期为DateTime对象、Chronos实例、有效的日期字符串或时间戳。
Chronos::date(new Chronos)... Chronos::date(new DateTime)... Chronos::date('2022-05-05 10:10:10')... Chronos::date(1664524279)... new Chronos(new DateTime)
或者直接获取当前日期时间。
Chronos::date()...
DateTime选项
在设置初始日期后,您可以流畅地指定每个选项。
Chronos::date($date) ->setDateTimeFormat("Y-m-d H:i:s") ->setDateFormat("Y-m-d") ->setTimeFormat("H:i:s") ->setTimezone("UTC")
以字符串形式检索日期时间
您有多种方法可以以字符串形式检索日期时间。
Chronos::date($date)... ->getDateObject() ->stamp() ->getDateTime() ->getDate() ->getTime() ->getHour() ->getMinute() ->getSeconds() ->getDayName() ->getDayShortName() ->getDayNumber() ->getWeekNumber() ->getMonthName() ->getShortMonthName() ->getMonthNumber() ->getYear()
操作日期时间
初始方法
在将日期时间作为字符串检索之前,您有多种方法来操作初始时间。
Chronos::date($date)->addDays()->getDateTime(); Chronos::date($date)->addMinutes()->getDateTime(); Chronos::date($date)->addSeconds()->getDateTime(); Chronos::date($date)->subDays()->getDateTime(); Chronos::date($date)->subMinutes()->getDateTime(); Chronos::date($date)->subSeconds()->getDateTime();
链式方法
您也可以流畅地链式调用方法。
Chronos::date($date)->addDays(40)->addMinutes(1)->subSeconds(20)->getDateTime();
穿越时间
设置新的日期时间
您可以将另一个日期时间设置为DateTime对象、有效的日期字符串或时间戳来处理时间间隔。
Chronos::date()->travel(new DateTime)... Chronos::date()->travel('2022-05-05 10:10:10')... Chronos::date()->travel(1664524279)...
检索差异
您有多种方法可以以字符串形式检索差异。
Chronos::date()->travel('2022-05-05 10:10:10') ->daysPassed() // This will return 0 if travel date is in the future. ->differenceInDays() // This will return negative days if travel is in the past. ->hoursPassed() ->differenceInHours() ->minutesPassed() ->differenceInMinutes() ->secondsPassed() ->differenceInSeconds()
您还可以快速检查我们是在过去还是未来。
Chronos::date()->travel('2022-05-05 10:10:10') ->isInFuture() ->isInPast()