maarheeze/calendar-date

Maintainers

Package info

github.com/maarheeze/calendar-date

pkg:composer/maarheeze/calendar-date

Statistics

Installs: 3

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.0 2026-03-06 21:26 UTC

This package is auto-updated.

Last update: 2026-03-17 07:56:03 UTC


README

A timezone-agnostic calendar date value object for PHP. No time component, no timezone concerns.

Requirements

  • PHP 8.2+

Installation

composer require maarheeze/calendar-date

Usage

Creating a date

CalendarDate::today();
CalendarDate::parse('2000-01-01');
CalendarDate::parse('today');
CalendarDate::parse('+3 weeks');
CalendarDate::instance($dateTimeInterface);
CalendarDate::createFromFormat('d-m-Y', '01-01-2000');

Formatting

$date->format('Y-m-d');
$date->__toString(); // defaults to Y-m-d

Arithmetic

$date->addDays(7);
$date->subDays(7);
$date->addMonths(1);
$date->subMonths(1);
$date->addYears(1);
$date->subYears(1);

All arithmetic methods return a new CalendarDate instance.

Comparison

$date->equalTo($other);
$date->isBefore($other);
$date->isAfter($other);
$date->isToday();
$date->isPast();
$date->isFuture();

License

MIT