skillup

技術ブログ

PHP

PHPでの日付関数の扱い方

投稿日:

このブログの投稿数ももう少しで150近くになりました。

で、9割以上がJavaなんですが、私はPHPのスクールを運営しています(笑)

ということでPHPのスキルを忘れてはいけないということで、今日はちょっとPHPの日付関数の復習なんかをします。

日付関数

Javaと比べるとここら辺の扱いが非常に楽ですね。

まあJavaもライブラリ入れれば問題ないんですけど、PHPだと標準で簡単な関数がいっぱい組み込まれているので、簡単にスクリプトが書けます。

基本的には表示はdate,操作はstrtotimeでいいと思います。

date

timestampを与えて、日付を表示します。

date(“Y-m-d” ,タイムスタンプ)みたいな。

公式のdateの説明 http://php.net/manual/ja/function.date.php

で、タイムスタンプなんてどうやってつくんのさーということころで便利なのがstrtotimeです。

strtotime

ちょっと前まではmktime使ってたんですけど、先輩にそんなもん使うなーといわれ今ではほぼこれ一択です。

このライブラリが結構すごくて引数に直でyyyy/MM/ddを入れたり+1month(1か月後)みたいなのを文字として書けちゃうところです。

公式のstrtotimeの説明 http://php.net/manual/ja/function.strtotime.php

サンプルパターン

現在日付からn日の取得

上記はマイナスをプラスにかえれば当然n日後などになります。

日付の入力はyyyy-MM-ddでもOK

2つの日付の大小を判定する

など

ちなみに今の時間を表記するときはstrtotime(“now”)でOK

2つの日付の差(何日間あるか)を求める

また日付の関数はタイムゾーンが設定されていないと動かないことがあります。
その場合、php.iniをいじればいいのですが、設定ファイルをいじるのが怖い場合は下記のようにプログラムの冒頭部分に書いておけばOKです。

他strtotimeのリンクなど

http://php-beginner.com/function/datetime/strtotime.html

-PHP
-

執筆者:


comment

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

関連記事

no image

Shift_JISの5C問題について 全角ハイフンでエスケープ

エンジニアであればだれもが頭を悩ませる文字コード。 私も初期のころはこれのせいでデータが入らないとかおかしくなるなんてことがさんざんありました。 今でも文字コードに遭遇することはあるんですが大体のパタ …

no image

Laravel5.4インストール&ルーティング

来月からの仕事でLaravel5.4を使うことになったのでテストがてら自宅で勉強。 とりあえず下記リンクが参考になりました。 Laravel5.4でシンプルなCMSを作るチュートリアル 初めてのLar …

no image

cakePHP Tips

cakeでの気づいたTipsなど。 知っているといろんな部分で開発が楽になります。 Contents1 作成日と更新日の自動設定2 scaffold3 新規登録と編集画面の作成4 htmlヘルパー5 …

no image

ob_startを使ったバッファリング出力

先日var_dumpの結果をログに出力したいときに検索すると下記のようなコードを書けばよいということがわかりました。

ob_start …

no image

Laravelの認証(独自テーブル仕様)

Laravelで独自の認証をしたいときに少々大変だったのでメモなどを。 *ディフォルトのテーブルはuserで認証項目もemailとpasswordと決まっています。 いじるところが色々ありまして、列挙 …