DATETIME型からTIMESTAMP型へPHPで変換する関数
またまたPHPネタですが、お仕事中に思いついたので書きますよ。
PHPでMySQLから取得したDATETIME型の日付文字列を、時間の計算などに使えるTIMESTAMP(タイムスタンプ)型に変換するための関数です。
PHPではmktime()という関数がタイムスタンプを取得するのに便利なんですけど、元の材料が日付の文字だけだとすぐ変換できないんですよね。
で、strtotime()という便利な関数があるのですが、すっかり存在を忘れてて自作関数を作っちゃいました。 需要は全然ないですが、参考に見てみてください。
ちなみに、strtotime()を使うと簡単に変換ができてしまいます。
$timestamp = strtotime("2010-07-15 19:12:40");
datetime2timestamp
はい、では需要がない自作関数の紹介です。
/** * DATETIME型文字列をタイムスタンプに変換 * * @param string $datetime_string DATETIME型の文字列 * @return int */ function datetime2timestamp($datetime_string) { $matches = array(); preg_match("/^(d+)-(d+)-(d+) (d+):(d+):(d+)$/", $datetime_string, $matches); return mktime(intval($matches[4]),intval($matches[5]),intval($matches[6]),intval($matches[2]),intval($matches[3]),intval($matches[1])); }
正規表現を知ってるといろいろ便利だな~、ってことで。
2010-07-15