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

phpの時分秒+cakePHPのupdate

ちょっと小ネタ集になります。 Contents1 PHPで秒→時分秒変換2 cakePHPでのupdate PHPで秒→時分秒変換 PHPで秒数から時分秒に変換するプログラムです。 汎用的かなと思った …

no image

composerでのライブラリ登録

今回はPHPのパッケージ管理ツールであるcomposerへのライブラリ登録を。 Contents1 ライブラリの作成2 packagistへの登録3 呼び出す側3.1 composer.json3.2 …

no image

apacheで複数インスタンスの起動

前回のphpenvがらみの引き続きですが、php5.6と7を共存させ、なおかつWEBアプリで動かす方法を調べたところapacheの複数インスタンスがであれば可能だとのこと。 早速調べなんとかできました …

no image

CakePHPでのプレフィックスルーティング

cakePHPではルーティングがデフォルトでは/コントローラ名/アクション名となります。 ところが管理画面などはadmin/コントローラー名/アクション名などと変則的なURLにしたいことも多いでしょう …

no image

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

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