PHPで解釈できる日時の書式
2024/12/10
`DateTimeImmutable::__construct()`や`DateTimeImmutable::modify()`では様々な書式がサポートされています。
```php
// 現在の日時 ※new DateTimeImmutable()と同じ
new DateTimeImmutable('now');
// 現在の日時から1日進める
(new DateTimeImmutable('now'))->modify('+1 day');
// 来月の1日
new DateTimeImmutable('first day of next month');
// 来月の1日の00:00:00
(new DateTimeImmutable('first day of next month'))->setTime(0, 0, 0);
// 明日の00:00:00
new DateTimeImmutable('tomorrow');
// 2024年12月の最初の土曜日の00:00:00
new DateTimeImmutable('first sat of December 2024');
```
サポートされている書式は以下の通りです。
| シンボル | 書式 |
| -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| dayname | 'sunday' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' |
| daytext | 'weekday' | 'weekdays' |
| number | [+-]?[0-9]+ |
| ordinal | 'first' | 'second' | 'third' | 'fourth' | 'fifth' | 'sixth' | 'seventh' | 'eighth' | 'ninth' | 'tenth' | 'eleventh' | 'twelfth' | 'next' | 'last' | 'previous' | 'this' |
| reltext | 'next' | 'last' | 'previous' | 'this' |
| space | [ \t]+ |
| unit | 'ms' | 'µs' | (( 'msec' | 'millisecond' | 'µsec' | 'microsecond' | 'usec' | 'sec' | 'second' | 'min' | 'minute' | 'hour' | 'day' | 'fortnight' | 'forthnight' | 'month' | 'year') 's'?) | 'weeks' | daytext |
公式ドキュメント
https://www.php.net/manual/ja/datetime.formats.php