cherrypick / hammertime
Carbon (一个日期类) 的扩展
v0.4.1
2019-11-16 16:12 UTC
Requires
- nesbot/carbon: ~1.24
This package is not auto-updated.
Last update: 2024-09-14 16:13:36 UTC
README
这个日期库扩展了 Carbon,增加了更复杂的日期计算和所有日期部分的获取/设置方法。
安装
使用 composer 安装
composer require cherrypick/hammertime
功能
更复杂的日期计算
HammerTime 的日期计算更接近现实世界的问题。当你处于一个月的末尾并添加另一个月时,它不会跳到下一个月的开始。
$date = HammerTime::createFromDate(2014, 5, 31); $date->addMonths(1); // 2014-06-30 (with default PHP DateTime (and Carbon) it would be 2014-07-01) $date = HammerTime::createFromDate(2012, 2, 29); $date->addYear(1); // 2013-02-28 (with default PHP DateTime (and Carbon) it would be 2013-03-01)
类似地,这也适用于月份的差异。你可以在这里找到更多信息和其他示例:here.
$date1 = HammerTime::createFromDate(2014, 2, 1); $date2 = HammerTime::createFromDate(2014, 3, 1); $date1->diffInMonths($date2); // 1 (with default PHP DateTime (and Carbon) it would be 0)
日期比较
这个库为日期比较提供了更清晰的名字。
$date1->isSameDate($date2); $date1->isBefore($date2); $date1->isBeforeOrEqual($date2); $date1->isAfter($date2); $date1->isAfterOrEqual($date2);
获取器和设置器
这个库为所有可用的日期信息提供了获取器和设置器
$date = HammerTime::createFromDate(2014, 11, 30, 12, 42, 42); $date->getDay(); // 30 $date->getMonth(); // 11 $date->getYear(); // 2014 $date->getHour(); // 12 $date->getMinute(); // 42 $date->getSecond(); // 42 // and many more... // the same applies to setters. $date->setDay(20); // 2014-11-20 // etc..
每个可用的属性都有获取器和设置器。