skillup

技術ブログ

PHP

CakePHP3 日付ライブラリ(Time)について

投稿日:

CakePHPには標準でいろいろなライブラリが入っていますが、日付ではCake\I18n\Timeというライブラリが入っています。

内部では3.2より前のバージョンではCarbonだったようですが、それ以降のバージョンではChronosというライブラリが入っています。基本的にDateTimeとこのChronosでできるメソッドは実装されているようです。

以下のよく使用する使い方や注意点などを書いておきます。

通常のインスタンス作成

 

任意のフォーマットからのパース

 

任意のフォーマットへの出力

 

年月日自分秒を指定してのインスタンス作成

 

任意の日付への変更

 

個別の値の取り出し

 

大小判定

 

区間判定

 

加算・減算

 

月末日

 

差分

 

注意点としてはTimeは変更があるたびに状態が変わってしまうので状態を変えたくないときはFrozenTimeというクラスをつかう必要があります。

状態を変えたくないときはFrozenTimeを使います。

参考リンク

https://book.cakephp.org/3.0/ja/core-libraries/time.html
https://book.cakephp.org/3.0/ja/chronos.html
http://qiita.com/ishizuki/items/96f268a46c09136ba4dc

 

-PHP
-, ,

執筆者:


  1. […] CakePHP3 日付ライブラリ(Time)について http://skill-up-engineering.com/?p=2758 […]

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

phpdocument

今回はphpのdocument生成ツールについて。 Contents1 phpdocument1.1 インストール1.2 使い方1.3 参考リンク phpdocument https://www.ph …

no image

PHPのPDFライブラリに関して。

今月PHPでPDFを出力する要件があったんで色々見てきましたので、まとめを。 昨年もちょっとやりましたが、色々と面倒です。 fpdfはかなり古くダメダメっぽいですね。昨年はじめにPDFを使う要件があっ …

no image

cakePHPでの多対多について

cakePHPで多対多のリレーションを使う機会があったので、その時のメモなどを。 多対多を説明するときには例によってブログの投稿(Item)とタグ(Tag)の関係が一番わかりやすいですね。 Conte …

no image

PHPでのログ出力 PHP monolog

PHPでデバッグするときは、画面上にvar_dumpで情報を見ていたのですが、これができない場面ではログへの出力を行うことになります。 いままではフレームワークに標準でついてたんですが、これを機に一般 …

no image

キャッシュについて(主にmemcachedを中心に)

Webサービスのパフォーマンス向上で目に見えて効果があることの一つがDBへのアクセス回数を減らすことです。 それはSQLを発行する回数を少なくするなど、普段からのプログラムの書き方ももちろん大事なので …