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

phpのライブラリ(mcrypt)インストール

先日、ローカルで開発していたPHPをサーバーにアップして、composerでライブラリをアップデートしようとしたところ、”The mcrypt extension is missing. …

no image

composerに関して

Javaではライブラリをpomで管理し、mavenを使うことで一括管理していました。 PHPではcomposerがその役割を担っています。 Contents1 composer公式ドキュメント2 co …

no image

cakeでのUtilityメソッド

cakeではControllerから呼ぶメソッドはComponent,ModelはBehavior、ViewはHelperに記述するのが一般的です。 ところが、プログラムを書いているとUtility系 …

no image

phing

今までphpunit,phpmd,phpcodesniffer,phpdocumentなどのツールをいろいろと試してきますが、個別に動かしていると大変面倒ですので、これを一気に行えるライブラリがありま …

no image

call_user_funcについて

call_user_funcについて。 call_user_funcはメソッドを動的に呼ぶことができるメソッドの1つで、コールバック関数を使いたいときに使われます。JavaScriptでは比較的多いと …