plumphp/plum-date

PlumDate 为 Plum 提供日期和时间转换器。

v0.1 2015-10-23 08:52 UTC

This package is auto-updated.

Last update: 2024-09-20 09:33:31 UTC


README

Plum

PlumDate 为 Plum 提供日期和时间转换器。Plum 是一个 PHP 的数据处理管道。

Build Status AppVeyor Build status Scrutinizer Code Quality Code Coverage StyleCI

由欧洲维也纳的 Florian Eckerstorfer 开发。

安装

您可以使用 Composer 安装 PlumDate。

$ composer require plumphp/plum-date

使用方法

有关更多信息,请参阅 Plum 文档

目前,PlumDate 包含将字符串和时间戳转换为 DateTime 对象以及将 DateTime 对象转换为字符串和时间戳的转换器,以及用于检测日期是否在某个时间点之前或之后的过滤器。

概述

转换器

过滤器

DateTimeToStringConverter

Plum\PlumDate\DateTimeToStringConverterDateTime 对象转换为字符串。字符串的格式必须传递给构造函数。

use Plum\PlumDate\DateTimeToStringConverter;

$converter = new DateTimeToStringConverter('y-m-d H:i:s');
$converter->convert(new DateTime()); // -> e.g., "2015-10-21 19:28:00"

DateTimeToTimestampConverter

Plum\PlumDate\DateTimeToTimestampConverterDateTime 对象转换为时间戳。

use Plum\PlumDate\DateTimeToTimestampConverter;

$converter = new DateTimeToTimestampConverter();
$converter->convert(new DateTime()); // -> e.g., 1445448480

StringToDateTimeConverter

Plum\PlumDate\StringToDateTimeConverter 接收一个字符串并返回一个 DateTime 对象。构造函数可以接受一个可选的 DateTimeZone 对象,该对象被传递给 DateTime 构造函数。

use Plum\PlumDate\StringToDateTimeConverter;

$converter = new StringToDateTimeConverter();
$converter->convert('2015-10-21 19:28:00'); // -> DateTime

$converter = new StringToDateTimeConverter(new DateTimeZone('Europe/Vienna'));
$converter->convert('2015-10-21 19:28:00'); // -> DateTime

TimestampToDateTimeConverter

Plum\PlumDate\TimestampToDateTimeConverter 接收一个时间戳并返回一个 DateTime 对象。可以传递一个 DateTimeZone 实例到构造函数,该实例将用于创建 DateTime 对象。

use Plum\PlumDate\TimestampToDateTimeConverter;

$converter = new TimestampToDateTimeConverter();
$converter->convert(1445448480); // -> DateTime

$converter = new TimestampToDateTimeConverter(new DateTimeZone('Europe/Vienna'));
$converter->convert(1445448480); // -> DateTime

AfterFilter

Plum\PlumDate\AfterFilter 对于所有在给定日期之后的日期返回 true

use Plum\PlumDate\AfterFilter;

$filter = new AfterFilter(new DateTime('2015-10-21 19:28'));
$filter->filter(new DateTime('2015-10-26 21:00')); // -> true
$filter->filter(new DateTime('1955-11-12 18:38')); // -> false

// Same date as in constructor:
$filter->filter(new DateTime('2015-10-21 19:28')); // -> false

BeforeFilter

Plum\PlumDate\BeforeFilter 对于所有在给定日期之前的日期返回 true

use Plum\PlumDate\BeforeFilter;

$filter = new BeforeFilter(new DateTime('2015-10-21 19:28'));
$filter->filter(new DateTime('1955-11-12 18:38')); // -> true
$filter->filter(new DateTime('2015-10-26 21:00')); // -> false

// Same date as in constructor:
$filter->filter(new DateTime('2015-10-21 19:28')); // -> false

RangeFilter

Plum\PlumDate\RangeFilter 对于所有位于给定日期范围内的日期返回 true

use Plum\PlumDate\AfterFilter;

$filter = new AfterFilter(new DateTime('2000-01-01 00:00:00'), new Date('2009-12-31 23:59:59'));
$filter->filter(new DateTime('2005-07-07 12:00:00')); // -> true
$filter->filter(new DateTime('2015-10-21 19:28:00')); // -> false

// Same date as in start or end date:
$filter->filter(new DateTime('2000-01-01 00:00:00')); // -> true
$filter->filter(new DateTime('2009-12-31 23:59:59')); // -> true

变更日志

版本 0.1 (2015年10月23日)

  • 首次发布

许可证

MIT 许可证适用于 plumphp/plum-date。有关完整的版权和许可信息,请查看与此源代码一起分发的 LICENSE 文件。