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

phpQueryを使ったスクレイピングに関して

以前、スクレイピングに関してはこのエントリーでも紹介したとおり、phpに標準で入っているDOMDocumentを使う方法が一番楽です。 ところがデータによってはXMLで解析するため目的とする要素を取得 …

no image

inotifyによる検知

以前、pynotifyというpythonの検知プログラムを書きましたが、元々はinotifyというLinux上のパッケージのライブラリが元になっています。 以前調べたリンク 監視検知処理に関して 実務 …

no image

ファイルポインタ関連の操作に関して

CSVの読み込みに関してファイルポインタ関連で色々と整理することがあったのでメモ。 Contents1 今回やりたかった処理2 ファイルポインタとは 今回やりたかった処理 CSVファイルを読み込み(文 …

no image

CakePHP3でのコレクションに関して

プログラミングにおいて基礎となるのは配列、ハッシュの処理とオブジェクト指向の使いこなしです。 配列、ハッシュの処理に関しては自前でメソッドを書いてもよいですが、バグの温床になりやすいので、ライブラリを …

no image

S3 commandPoolについて

S3のcommandPoolに関して。 S3にファイルをアップロード、ダウンロードするときに、1つ1つファイルをアップロード、ダウンロードすることが一般的かと思いますが、ファイル数が多くなるとなかなか …

アーカイブ