• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:英字表記の日付をユニックスタイムに変換する方法)

英字表記の日付をユニックスタイムに変換する方法

このQ&Aのポイント
  • PHPで英字表記の日付をユニックスタイムに変換する方法について調査します。具体的には、以下のタイムスタンプ(アパッチのログです)をユニックスタイムスタンプに変換する方法を教えてください。31/Jan/2012:09:48:32
  • strtotimeやdateなどを試してみたもののうまくいかない場合、PHPには特定のメソッドが用意されているのでしょうか?また、月名を数字に変換する方法も教えていただけますか?
  • 質問者は、英字表記の日付をユニックスタイムに変換する方法について試行錯誤していますが、根本的な違いに気づきました。具体的なメソッドや月名の変換方法について助言を求めています。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>31/Jan/2012:09:48:32 これではだめですね せめて「31 Jan 2012 09:48:32」 <?php $str="31 Jan 2012 09:48:32"; print date("Y-m-d H:i:s",strtotime($str)); ?> もとのフォーマットが確定なら無理やり変換するとか <?php $str="31/Jan/2012:09:48:32"; $pattern="/(\d+)\/(\w+)\/(\d+):(\d{2}:\d{2}:\d{2})/"; $replacement="$1 $2 $3 $4"; $str=preg_replace($pattern,$replacement,$str); print date("Y-m-d H:i:s",strtotime($str)); ?>

webwebwebweb
質問者

お礼

ありがとうございます。 なるほどstrtotimeを使うための形式に変換するのですね。 これですね。 ただ今、1の方のアドバイスに従って、文字列を比較して数値に変えるプログラムを作ってたのですがコチラを使うことにします。 ありがとうございます。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

「『Jan』などの月名を0などのように変換する」だけなら連想配列を使えばよいかと.

webwebwebweb
質問者

お礼

ご回答ありがとうございます。 メソッドでは用意されていないのですかね? メソッドと自分で作る関数ではどちらが早いのでしょうか? 大量のデータをやり取りするので処理が早い方法がいいんです。 これについて、どう思われますか?

関連するQ&A

専門家に質問してみよう