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でランダムなカラーコードを生成する「RandomColor.php」ライブラリの利用方法
PHPでランダムなカラーコードを生成したい。自作するとなると「0~9」「a~f」 ...
-
PHPにて三項演算子をより簡単に書けるNull合体演算子について
PHPにて〇〇という変数もしくは配列に値があれば××という変数にその値を格納、無 ...
-
PHPでmysqli関数使用時のプリペアドステートメントの利用方法
PHPでMySQLを扱う際はmysqli関数を、エスケープの際はreal_esc ...
-
DTIのVPS(PHP5系環境)にCakePHPを導入する方法
他社さんと連携して仕事をする際に「フレームワーク何か使いますか?」と聞かれて「使 ...
-
PHPで複数の送信先に一括でメールを送る方法
PHPで複数の送信先に一括でメールを送信したかった。配列とかで指定するのかと思っ ...