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

  • 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