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

ロケール情報について

本日、csvファイルを読み込む処理を行っていたんですが、コンソールからコマンドを打つと化けずに、ウェブ上で見ると化けるという現象が発生。 csv,プログラムともに文字コードがutf8で統一していること …

no image

cakePHP3での複数データベース接続

cakePHP3で複数のデータベースに接続することができます。 まず設定ファイルで複数のデータベースを定義します。(defaultはそのままにしておきます。) [crayon-5d5919e755b9 …

no image

PECLに関して

PHPのライブラリを入れようとするとたまに出てくるPECLに関して。 最近でもメールパーサーを入れた時に出ましたね。 [PHP]pecl,phpize,extensionという単語を見て頭痛がするあな …

no image

PHPの名前空間

PHPでも5.3以降はJavaのパッケージのように名前空間を使うことができます。 いままではライブラリやアプリケーションの開発者は、PHPに組み込まれている関数やクラス名や他の人が作ったライブラリとの …

no image

cakePHPの認証-Authコンポーネント

ひさびさにPHPをやる機会があり、短期での開発だったため、cakePHPを使いました。 以前やったことがあったんですが、もう2年以上たっていますね。 といいつつも昔のソースを見ながらやることで思い出し …