勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

PHPの日付・時刻関連

      2014/07/02

使えそうなものをまとめてメモ。

【関数】
-----------
■date
日付及び時刻を書式化する。

echo date('Y-m-d');

パラメータについてはリファレンス参照。
http://www.php.net/manual/ja/function.date.php
大文字小文字で差があったのは知らなかったので注意する。

-----------
■DateTime
日付と時刻をオブジェクトとして扱う。

$dt = new DateTime();
echo $dt->format('Y-m-d');

オブジェクト指向がまだ理解できてないのでアレだけど、
その内役に立つはず。

-----------
■getdate();
指定日の日付及び時間が連想配列で返される。
引数にタイムスタンプを入れると該当日の情報、
省略すると今日の情報が返ってくる。

$today = getdate();
var_dump($today); //今日の日付時間が返ってくる

$y_date = mktime(date(s), date(i), date(h), date(m), (date(d)-1), date(y));
$yesterday = getdate($yesterday);
var_dump($yesterday); //昨日のが返ってくる

-----------
■mktime
年月日と日付を指定し、その日付のタイムスタンプを取得する。

$y_date = mktime(date(s), date(i), date(h), date(m), (date(d)-1), date(y));
//昨日分のタイムスタンプが$y_dateに格納される。

-----------

【実際に使いそうな方法とか】
-----------
■締切日を設けて、今日の日付と比較して分岐させる

※タイムスタンプで比較
$limit_day = mktime(0, 0, 0, 5, 1, 2013); //締め切り日を2013年5月1日0時0分0秒にしてタイムスタンプに変換
echo (mktime() >= $limit_day) ? '締め切りを過ぎています' : '期限内です';

※DateTimeでオブジェクトを用いて比較
$limit_day = new DateTime('2013-5-01');
$today = new DateTime();
echo ($today >= $limit_day) ? '締め切りを過ぎています' : '期限内です';

-----------

【その他】
-----------
2038年問題
一部のプログラミング言語の仕様によって
2038年以降の日付や時刻が正しく扱えない問題とのこと。

・参考サイト
http://e-words.jp/w/2038E5B9B4E5958FE9A18C.html

-----------

以上。

 - PHP

  関連記事

AjaxのJSONP使用でPHPで作った配列をJSに返す方法

AというサイトからBというサイトにAjax通信し、Bの方ではMySQLに接続して ...

エラー処理を1ページにまとめる

できるだけまとめておいた方が効率よさそうなのでメモ。 メインのフォルダにlogs ...

PHPのclassを用いてBBS作成

オブジェクト指向勉強中のメモ。 ■index.php <? error_r ...

PHPのcURLでnot found判別方法

cURLを使う際に、 if( curl_exec($ch) ){ //succe ...

登録画像orノーイメージ画像の振り分け表示

<? /* 画像が登録されていれば当該画像を読み出し、 登録されていない場 ...

Facebookのタイムラインを取得して表示する方法

Facebookのタイムラインを取得してきて、表示させたいという案件があった。 ...

エラー管理まとめ2

これに続いてちょっとだけつまづいた点があったのでメモ。 ■ソース //ページTO ...

WordPressで任意のクエリをページに出力するプラグイン

先日、「WordPressで任意のクエリをページ内で出力する方法 」という記事で ...

PHPのチェック系関数

たまたまis_objectという関数を見かけて、 is_numericとかiss ...

jQuery.uploadでリアルタイムプレビュー

やりたい事は、 ・<input type="file">で画像を選択 ...