DATETIME型の値をPHP上でUNIX TIMESTAMP値に変換する方法
追記:この記事に掲載されている関数を使うよりも、PHPに標準で備わっているstrtotime()関数を使ったほうがより簡単に実現できます。 参考記事はこちら。
あんまり需要がないかもしれませんが、ここに辿りついて来た方のために掲載しておきます。
引数が正当な日付かどうかのチェックは事前にお願いしますm(_ _ )m
/** * DATETIME形式の値をUNIX TIMESTAMP値に変換 * * @param string $datetime DATETIME値 * @return integer DATETIME型じゃなければ0 */ function datetime2unixtime($datetime) { $regex = "/(d{4})-(d{2})-(d{2}) (d{2}):(d{2}):(d{2})/"; if (preg_match($regex, $datetime, $m)) { array_walk($m, 'intval'); return mktime($m[4],$m[5],$m[6],$m[2],$m[3],$m[1]); } else { return 0; } }
UNIX TIMESTAMP値をDATETIME値に変換
ついでなので、UNIX TIMESTAMP値をDATETIME値に変換する方法も載せておきますね。
/** * UNIX TIMESTAMP形式の値をDATETIME値に変換 * * @param integer $timestamp UNIX TIMESTAMP値 * @return string */ function unixtime2datetime($timestamp) { if (is_int($timestamp)) { return date('Y-m-d H:i:s', $timestamp); } else { return ''; } }
2009-04-24