plumphp / plum-date
PlumDate provides date and time converters for Plum.
Installs: 13
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/plumphp/plum-date
Requires
- plumphp/plum: ~0.4
Requires (Dev)
- phpunit/phpunit: ~4.8
This package is auto-updated.
Last update: 2025-10-20 12:10:39 UTC
README
PlumDate provides date and time converters for Plum. Plum is a data processing pipeline for PHP.
Developed by Florian Eckerstorfer in Vienna, Europe.
Installation
You can install PlumDate using Composer.
$ composer require plumphp/plum-date
Usage
Please refer to the Plum documentation for more information.
Currently PlumDate contains converters to convert strings and timestamps into DateTime objects and to convert
DateTime objects into strings and timestamps and filters to detect whether a date is before or after a certain point
in time.
Overview
Converters
DateTimeToStringConverterDateTimeToTimestampConverterStringToDateTimeConverterTimestampToDateTimeConverter
Filters
DateTimeToStringConverter
Plum\PlumDate\DateTimeToStringConverter converts a DateTime object into a string. The format of the string has to
be passed to the constructor.
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\DateTimeToTimestampConverter converts a DateTime object into a timestamp.
use Plum\PlumDate\DateTimeToTimestampConverter; $converter = new DateTimeToTimestampConverter(); $converter->convert(new DateTime()); // -> e.g., 1445448480
StringToDateTimeConverter
Plum\PlumDate\StringToDateTimeConverter takes a string and returns a DateTime object. The constructor takes an
optional DateTimeZone object that is passed to the DateTime constructor.
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 takes a timestamp and returns a DateTime object. An instance of
DateTimeZone can be passed to the constructor, which will be used to instantiate the DateTime object.
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 returns true for all dates that are after a given date.
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 returns true for all dates that are before a given date.
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 returns true for all dates that lie within a given range of dates.
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
Change Log
Version 0.1 (23 October 2015)
- Initial release
License
The MIT license applies to plumphp/plum-date. For the full copyright and license information, please view the LICENSE file distributed with this source code.