skillup

技術ブログ

PHP

PHPでの日付関数の扱い方

投稿日:2015年10月2日 更新日:

このブログの投稿数ももう少しで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で配列の同一性(集合のチェック)

AとBという配列があり、A⊂B つまりは集合のような関係を確かめたいときに下記のようなメソッドを使います。  

no image

composer global require

composerでのglobal requireに関して。 composerでライブラリを読み込むとき、一般的には下記のどちらかで読み込むことが多いです。 composer.jsonに記述 [cray …

no image

フレームワークの基本的なアーキテクチャについて

フレームワークで大事なのは基本的な文法ではなく、構造の理解だと思います。 PHPですとCake,Laravel,Synfonyなどありますが、1つのものでしっかりと理解できていれば他のものもそれほど問 …

no image

phpdocument

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

no image

phpの時分秒+cakePHPのupdate

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