DATETIME型からTIMESTAMP型へPHPで変換する関数

presented by 役に立つかもしれないBlog

はてなブックマーク - DATETIME型からTIMESTAMP型へPHPで変換する関数

2010年7月15日 15:30

またまた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]));
}

正規表現を知ってるといろいろ便利だな~、ってことで。

WebMoney ぷちカンパ  Yahoo!ブックマーク  favicon  はてなブックマーク  livedoorリーダー Buzzurl

関連情報

コメントフォーム