ishworkh / navigable-date
php DateTime 类的包装器
Requires
- php: >=7.0
- illuminate/support: ~5.4
This package is not auto-updated.
Last update: 2024-09-23 14:23:40 UTC
README
NavigableDate 是核心 php DateTime
类的包装器。它封装了核心类,并暴露了提供导航日期方式的 NavigableDateInterface
。它提供了 nextDay、nextWeek、previousDay、nextMonth 等方法,以及 format、getTimestamp、getOffset、getDifference 和 getTimezone 等方法。
基本用法
可以通过正常的 new 操作符实例化,但需要您手动处理依赖项(NavigableDate\NavigableDateLocator
提供了所有必需的依赖项)。
推荐的方法是通过在 NavigableDateLocator
中可用的 NavigableDateFactory
获取实例。
$NavigableDate = NavigableDate\NavigableDateLocator::getInstance() ->getNavigableDateFactory() ->create('2016-07-11'); or $NavigableDate = NavigableDate\NavigableDateLocator::getInstance() ->getNavigableDateFactory() ->createFromDateTime(new DateTime());
甚至更简单,提供了 NavigableDate\NavigableDateFacade
用于实例化。
$NavigableDate = NavigableDate\NavigableDateFacade::create('2016-07-11');
它包括 NavigableDate\NavigableDateServiceProvider
以将此库集成到 Laravel 应用程序中。只需将此提供者在服务提供者列表中包含即可。之后,类型提示 NavigableDate\NavigableDateFactory
将解析为负责创建新的 NavigableDate\NavigableDate
实例的相应工厂类。
然后,
$NextDay = $NavigableDate->nextDay(); $NextDay->getTimestamp(); $NextDay->getOffset(); $NextDay->getTimeZone(); $NextDay->format('Y-m-d'); $NextNextDay = $NextDay->nextDay(); $NextNextDay->nextMonth(); $resetTime = true; $resetDays = true; $resetMonths = true; $NextDay->previousYear($resetTime, $resetDays, $resetMonths); // $resetTime -> resets time to 00:00:00 // $resetDays -> resets day of the month to 01 | resets day to start of the week i.e. Monday in case of nextWeek|prevWeek // $resetMonths -> resets month of the year to 01
还可以使用 previousMonth、nextYear 方法,并具有在相应方法中重置时间、天数或月份的可能性。
注意:有关它提供的方法的更多详细信息,请参阅 NavigableDate\NavigableDateInterface