Skip to content

Date

Raxos\DateTime\Date is an immutable date value object based on CakePHP Chronos, with JSON serialization and route parameter parsing support.

php
class Date extends ChronosDate implements JsonSerializable, Stringable, StringParsableInterface

Because it extends Cake\Chronos\ChronosDate, every Chronos date method (adding and subtracting days, comparisons, formatting) is available.

Methods

jsonSerialize()

php
public function jsonSerialize(): string

Returns the date formatted as toDateString().

__toString()

php
public function __toString(): string

Returns the date formatted as toDateString().

fromString()

php
public static function fromString(string $input): static

Parses the given string into a Date instance through the inherited parse() method.

pattern()

php
public static function pattern(): string

Returns the regex pattern \d{4}-\d{2}-\d{2} (four digit year, two digit month, two digit day) used to recognize a date in text, for example by raxos/router.

Usage

php
<?php
declare(strict_types=1);

use Raxos\DateTime\Date;

$date = Date::fromString('2026-07-08');

echo $date->addDays(7)->toDateString(); // "2026-07-15"
echo json_encode($date);                // "2026-07-08"