util-transformer
Documentation / DateTime Converter
Introduction
The DateTimeConverter converts DateTime related classes to string.
Convertable classes are DateTimeInterface (DateTime and DateTimeImmutable), DateTimeZone, DateInterval and DatePeriod.
Using the converter
$converter = new DateTimeConverter();
$converter->canTransform(new DateTime('2025-07-29 14:13')); // -> bool
$converter->transform(new DateTime('2025-07-29 14:13')); // -> string output
$converter->canTransform(new DateTimeZone('Europe/London')); // -> bool
$converter->transform(new DateTimeZone('Europe/London')); // -> string output
$converter->canTransform(new DateInterval('P1W2D')); // -> bool
$converter->transform(new DateInterval('P1W2D')); // -> string output
$converter->canTransform(new DatePeriod(new DateTime('2025-07-29 12:34'), new DateInterval('P1D'), 2)); // -> bool
$converter->transform(new DatePeriod(new DateTime('2025-07-29 12:34'), new DateInterval('P1D'), 2)); // -> string output
Formatting
The dateTimeFormat specifies formatting of date-times.
See format param of DateTime class.
Default format is c (ISO 8601).
$converter = new DateTimeConverter(dateTimeFormat: 'M d, Y');
$converter->transform(new DateTime('2025-07-29 14:13')); // -> string output
$converter->transform(new DatePeriod(new DateTime('2025-07-29 12:34'), new DateInterval('P1D'), 2)); // -> string output
The dateIntervalFormat specifies formatting of date-intervals.
See format param of DateInterval class.
Default format is %d (number of days).
$converter = new DateTimeConverter(dateIntervalFormat: '%R%d days');
$converter->transform(new DateInterval('P1W2D')); // -> string output
$converter->transform(new DatePeriod(new DateTime('2025-07-29 12:34'), new DateInterval('P1D'), 2)); // -> string output
Requirements
PHP
^8.1Documentation
Overview TypesCodecs
FlattenDecoderJsonDecoderConverters
BasicTypeDateTimeEnumJsonSerializableReadableReversedReadableStringableThrowableResolvers
ChainedFirstMatchRecursionStringWrappers
SymfonyNormalizer