chronos
3.1.0
Chronos は、不変の日付/日時オブジェクトを提供することに重点を置いています。不変オブジェクトは、datetime オブジェクトが誤って変更されないようにするのに役立ち、データをより予測しやすくします。
Composer を使用してインストールする:
$ composer require cakephp/chronos
その後、Chronos を使用できるようになります。
<?phprequire 'vendor/autoload.php';use CakeChronosChronos;printf("Now: %s", Chronos::now());
Chronos は元々 Carbon と互換性がありましたが、分岐し、PHP の DateTime クラスと DateTimeImmutable クラスを拡張しなくなりました。
不変オブジェクトには多くの利点があります。
不変オブジェクトを使用しても、常に副作用はありません。
コードの他の部分で日付と時刻が誤って変更されることはありません。
これらの利点を念頭に置いて、不変オブジェクトを変更するときに留意する必要があることがいくつかあります。
// これにより変更が失われます $date = new Chronos('2015-10-21 16:29:00');$date->modify('+2 hours');// これにより変更が保持されます $date = new Chronos ('2015-10-21 16:29:00');$date = $date->modify('+2 時間');
PHP は、ネイティブ拡張機能の一部として日時オブジェクトのみを提供します。 Chronos は、従来の DateTime オブジェクトに多くの利便性を追加し、 ChronosDate
オブジェクトを導入しました。 ChronosDate
インスタンスの時刻は00:00:00
に固定され、タイムゾーンはサーバーのデフォルトのタイムゾーンに設定されます。これにより、時刻コンポーネントが常に一致するため、カレンダーの日付を操作する場合に最適になります。
use CakeChronosChronosDate;$today = new ChronosDate();echo $today;// '2015-10-21' を出力 echo $today->modify('+3 hours');// '2015-10-21' を出力
Chronos
のインスタンスと同様、 ChronosDate
オブジェクトも不変です。
より詳しいドキュメントは、book.cakephp.org/chronos/3/en/ にあります。
API ドキュメントは、api.cakephp.org/chronos にあります。