6章日付と時刻

日付と時刻の処理は、PHPだけではなくどの言語でも行う、最も複雑な作業の1つです。その理由は、時刻は相対的であるというだけで、現時点でもあるユーザと隣のユーザとでは異なり、アプリケーション内では異なる振る舞いを引き起こす可能性があります。

オブジェクト指向

PHP開発者は、主にコードの中でDateTimeオブジェクトを使います。DateTimeオブジェクトは、特定のインスタンスを便利にラップして操作でき、さまざまな機能を幅広く提供します。2つのDateTimeオブジェクトの差を求めたり、任意のタイムゾーン同士の変換を行ったり、場合によっては、静的オブジェクトの時刻からの加算/減算を行うことができます。

PHPはさらに、DateTimeImmutableオブジェクトをサポートしています。DateTimeImmutableは機能的にはDateTimeと同じですが、直接変更することはできません。DateTimeオブジェクトのほとんどのメソッドは、DateTimeオブジェクト内部の状態を変更して、そのオブジェクトを返しますが、DateTimeImmutableの対応するメソッドは、元のオブジェクトの内部状態をそのまま残し、変更結果が反映された新しいインスタンスを返します。

[注記]

DateTimeDateTimeImmutableはどちらもDateTimeInterface抽象基底クラスをベースに拡張されたもので、PHPの日付と時刻の機能に関して2つのクラスはほぼ互換です。この章のいたるところで、 ...

Get PHPクックブック ―モダンPHPによるWebアプリケーション実用レシピ集 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.