LocalDate
日付のみを扱う値オブジェクトです。
名前空間
php
WizDevelop\PhpValueObject\DateTime\LocalDate実装インターフェース
IValueObjectStringableJsonSerializable
範囲
| 項目 | 値 |
|---|---|
| 最小日付 | -9999-01-01 |
| 最大日付 | 9999-12-31 |
ファクトリメソッド
of
php
public static function of(int $year, int $month, int $day): static年月日を指定してインスタンスを作成します。
php
$date = LocalDate::of(2025, 5, 14);from
php
public static function from(\DateTimeInterface $dateTime): staticDateTimeInterface からインスタンスを作成します。
php
$dateTime = new DateTimeImmutable('2025-05-14');
$date = LocalDate::from($dateTime);now
php
public static function now(\DateTimeZone $timezone): static指定されたタイムゾーンの現在日付を取得します。
php
$today = LocalDate::now(new DateTimeZone('Asia/Tokyo'));ofEpochDay
php
public static function ofEpochDay(int $epochDay): staticエポック日 (1970-01-01 からの日数) からインスタンスを作成します。
php
$date = LocalDate::ofEpochDay(19492);min / max
php
public static function min(): static
public static function max(): static最小日付 / 最大日付を取得します。
値の取得
getYear / getMonth / getDay
php
public function getYear(): int
public function getMonth(): int
public function getDay(): int年 / 月 / 日を取得します。
php
$date = LocalDate::of(2025, 5, 14);
$date->getYear(); // 2025
$date->getMonth(); // 5
$date->getDay(); // 14日付の操作
すべての操作は新しいインスタンスを返します。
addYears / subYears
php
public function addYears(int $years): static
public function subYears(int $years): static年を加算 / 減算します。
addMonths / subMonths
php
public function addMonths(int $months): static
public function subMonths(int $months): static月を加算 / 減算します。月末日は自動調整されます。
php
$jan31 = LocalDate::of(2025, 1, 31);
$feb = $jan31->addMonths(1); // 2025-02-28 (調整)addWeeks / subWeeks
php
public function addWeeks(int $weeks): static
public function subWeeks(int $weeks): static週を加算 / 減算します。
addDays / subDays
php
public function addDays(int $days): static
public function subDays(int $days): static日を加算 / 減算します。
比較メソッド
compareTo
php
public function compareTo(self $other): int比較結果を返します (-1, 0, 1)。
isBefore / isBeforeOrEqualTo
php
public function isBefore(self $other): bool
public function isBeforeOrEqualTo(self $other): boolisAfter / isAfterOrEqualTo
php
public function isAfter(self $other): bool
public function isAfterOrEqualTo(self $other): boolis
php
public function is(self $other): bool同じ日付かどうかを判定します。
変換メソッド
toISOString
php
public function toISOString(): stringISO 8601 形式の文字列に変換します。
php
$date = LocalDate::of(2025, 5, 14);
$date->toISOString(); // "2025-05-14"toEpochDay
php
public function toEpochDay(): intエポック日に変換します。
toDateTimeImmutable
php
public function toDateTimeImmutable(): \DateTimeImmutableDateTimeImmutable に変換します (時刻は 00:00:00)。
atTime
php
public function atTime(LocalTime $time): LocalDateTimeLocalTime と組み合わせて LocalDateTime を作成します。
php
$date = LocalDate::of(2025, 5, 14);
$time = LocalTime::of(10, 30, 0);
$dateTime = $date->atTime($time);