データベース形式の日付からエポックタイムを作る

  • unpack()を使う。
  • 以下のコードで翌日の日付を求が求まる。
  • PHPのunpack()はマニュアルの説明が意味不明。
<?
$timestamp = '2001-01-09 12:10:30';
$tm = unpack("A4y/x1/A2m/x1/A2d/x1/A2h/x1/A2i/x1/A2s",$timestamp);
$dt = date('Y年m月d日 h時i分s秒',
    mktime($tm['h'],$tm['i'],$tm['s'],$tm['m'],((int)$tm['d'] + 1),$tm['y'])
);
print "$dt\n";
?>

unpack()補足

"A4y/x1/A2m"とある場合、最初の4文字が添え字'y'の値となり、/で区切り、x1で1文字スキップし、さらに/で区切り、(都合5文字目から)次の2文字が添え字'm'の値となる。"2001-01"が$tm['y'] = 2000、$tm['m'] = 01というように格納される。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2007-05-08 (火) 19:28:17 (4065d)