PHP 基础日期库

2.1.1 2017-10-26 02:03 UTC

This package is not auto-updated.

Last update: 2024-09-29 03:36:29 UTC


README

Packagist License: MIT

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 许可证