DateTimeImmutable クラス

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

はじめに

日付と時刻を表現します。

このクラスは DateTime と同じ振る舞いをします。 但し、DateTime::modify() のような、 状態を変更して新しいオブジェクトを返すメソッドが呼び出された時を除きます。

クラス概要

class DateTimeImmutable implements DateTimeInterface {
/* 継承した定数 */
public const string DateTimeInterface::ATOM = "Y-m-d\\TH:i:sP";
public const string DateTimeInterface::COOKIE = "l, d-M-Y H:i:s T";
public const string DateTimeInterface::ISO8601 = "Y-m-d\\TH:i:sO";
public const string DateTimeInterface::ISO8601_EXPANDED = "X-m-d\\TH:i:sP";
public const string DateTimeInterface::RFC822 = "D, d M y H:i:s O";
public const string DateTimeInterface::RFC850 = "l, d-M-y H:i:s T";
public const string DateTimeInterface::RFC1036 = "D, d M y H:i:s O";
public const string DateTimeInterface::RFC1123 = "D, d M Y H:i:s O";
public const string DateTimeInterface::RFC7231 = "D, d M Y H:i:s \\G\\M\\T";
public const string DateTimeInterface::RFC2822 = "D, d M Y H:i:s O";
public const string DateTimeInterface::RFC3339 = "Y-m-d\\TH:i:sP";
public const string DateTimeInterface::RFC3339_EXTENDED = "Y-m-d\\TH:i:s.vP";
public const string DateTimeInterface::RSS = "D, d M Y H:i:s O";
public const string DateTimeInterface::W3C = "Y-m-d\\TH:i:sP";
/* メソッド */
public function __construct(string $datetime = "now", ?DateTimeZone $timezone = null)
#[\NoDiscard]
public function add(DateInterval $interval): DateTimeImmutable
public static function createFromFormat(string $format, string $datetime, ?DateTimeZone $timezone = null): DateTimeImmutable|false
public static function createFromMutable(DateTime $object): static
public static function getLastErrors(): array|false
#[\NoDiscard]
public function modify(string $modifier): DateTimeImmutable
public static function __set_state(array $array): DateTimeImmutable
#[\NoDiscard]
public function setDate(int $year, int $month, int $day): DateTimeImmutable
#[\NoDiscard]
public function setISODate(int $year, int $week, int $dayOfWeek = 1): DateTimeImmutable
#[\NoDiscard]
public function setTime(
    int $hour,
    int $minute,
    int $second = 0,
    int $microsecond = 0
): DateTimeImmutable
#[\NoDiscard]
public function setTimestamp(int $timestamp): DateTimeImmutable
#[\NoDiscard]
public function sub(DateInterval $interval): DateTimeImmutable
public function diff(DateTimeInterface $targetObject, bool $absolute = false): DateInterval
public function format(string $format): string
public function getOffset(): int
public function getTimestamp(): int
public function getTimezone(): DateTimeZone|false
public function __serialize(): array
public function __unserialize(array $data): void
#[\Deprecated]
public function __wakeup(): void
}

変更履歴

バージョン 説明
8.4.0 クラス定数が型付けされました。
7.1.0 DateTimeImmutable のコンストラクタで構築される値に、 現在時刻のマイクロ秒が含まれるようになりました。 これより前のバージョンでは、このマイクロ秒の情報は常に 0 で初期化されていました。

目次

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top