ivandelabeldad / dates
PHP 基础日期库
2.1.1
2017-10-26 02:03 UTC
Requires
- ivandelabeldad/collections: ^1.1.4
README
PHP 基础日期库
安装
composer require ivandelabeldad/dates
使用方法
日期、时间和DateTime
// Time only have hour, minute and seconds $time = Time::now(); // Date have year, month, day, season and day of week $date = Date::now(); // DateTime have date attributes and time either $dateTime = DateTime::now();
创建日期、时间或DateTime
// FROM YEAR-MONTH-DAY HOUR-MINUTE-SECOND $time = Time::create(12, 45, 0); $date = Date::create(1999, 12, 31); $dateTime = DateTime::create(1999, 12, 31, 12, 45, 0); // FROM CURRENT TIME $time = Time::now(); $date = Date::now(); $dateTime = DateTime::now(); // FROM TIME IN SECONDS (UNIX TIME) $time = Time::fromUnixTime(time()); $date = Date::fromUnixTime(time()); $dateTime = DateTime::fromUnixTime(time());
获取日期范围(仅日期)
$startDate = Date::create(2000, 1, 1); $endDate = Date::create(2000, 12, 31); // Contains every day of the year 2000 $dates = DateUtils::datesBetween($startDate, $endDate);
DateLists的使用
$list = new DateArrayList(); // ADD ONE DATE $list->add(Date::now()); // ADD MULTIPLE DATES $list->addAll([ $date1, $date2, $date3, ]); // RETURN 4 $list->size(); // REMOVE FIRST DATE AND MOVE OTHERS TO THE BEGINNING $list->remove(0);
使用列表进行排序
// DATES SORTED FROM BEFORE TO AFTER $list->sort(new DateNaturalComparator()); // DATES SORTED FROM AFTER TO BEFORE $list->sort(new DateNaturalComparator(), false);
过滤使用示例
// Get only weekends in summer and spring $filtered = DateFilter::builder($listOfDates) ->filterBySeasons([Season::SUMMER, Season::SPRING]) ->filterByDaysOfWeek([DayOfWeek::SATURDAY, DayOfWeek::SUNDAY]) ->build();
许可证
The API Rackian 是开源软件,许可协议为MIT 许可证