File tree Expand file tree Collapse file tree 2 files changed +8
-6
lines changed
src/MessageFormat/Functions Expand file tree Collapse file tree 2 files changed +8
-6
lines changed Original file line number Diff line number Diff line change 22
33namespace Tempest \Intl \MessageFormat \Functions ;
44
5- use Tempest \DateTime \DateTime ;
5+ use DateTime ;
6+ use Tempest \DateTime \DateTime as TempestDateTime ;
67use Tempest \Intl \MessageFormat \Formatter \FormattedValue ;
78use Tempest \Intl \MessageFormat \FormattingFunction ;
89use Tempest \Support \Arr ;
@@ -13,11 +14,12 @@ final class DateTimeFunction implements FormattingFunction
1314
1415 public function format (mixed $ value , array $ parameters ): FormattedValue
1516 {
16- if (! class_exists (DateTime::class)) {
17- throw new \RuntimeException ('`tempest/datetime` is required to use the `datetime` function. ' );
17+ if (class_exists (TempestDateTime::class)) {
18+ $ datetime = TempestDateTime::parse ($ value );
19+ } else {
20+ $ datetime = new DateTime ($ value );
1821 }
1922
20- $ datetime = DateTime::parse ($ value );
2123 $ formatted = $ datetime ->format (Arr \get_by_key ($ parameters , 'pattern ' ));
2224
2325 return new FormattedValue ($ value , $ formatted );
Original file line number Diff line number Diff line change @@ -54,10 +54,10 @@ public function test_format_datetime_function_and_parameters(): void
5454 $ formatter = new MessageFormatter ([new DateTimeFunction ()]);
5555
5656 $ value = $ formatter ->format (<<<'TXT'
57- Today is {$today :datetime pattern=|yyyy/MM/dd |}.
57+ Today's year is {$today :datetime pattern=|Y |}.
5858 TXT, today: '2024-01-01 ' );
5959
60- $ this ->assertSame ('Today is 2024/01/01 . ' , $ value );
60+ $ this ->assertSame ('Today \' s year is 2024. ' , $ value );
6161 }
6262
6363 public function test_format_number_function (): void
You can’t perform that action at this time.
0 commit comments