PHP開発初心者です。


あるサイトのヘッダーからget_headersを使い、更新日時($modtime)を取得しました。

ex
$url='http://hogehoge.jp';
$aaa = get_headers($url, 1);
$modtime=$aaa['Last-Modified'];

変数$modtimeは以下のような文字列で返されるようですが、
Tue, 29 Sep 2009 17:14:39 GMT

これをtimestamp型に変更したいと思ってます。
開発初心者の自分ですが、ごりごりに書けば、解決しそうですが、
できれば綺麗なソースをみて、勉強したいなと思ってます。

ご回答頂ける方いましたら幸いです。
宜しくお願いいたします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2010/03/14 19:04:27
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:GoldenDawn No.1

回答回数426ベストアンサー獲得回数81

ポイント60pt

一番楽ちんな方法

<?php
$time = 'Tue, 29 Sep 2009 17:14:39 GMT' ;
$unixtime = strtotime($time) ;

もう少し自分でやる方法

<?php
$time = 'Tue, 29 Sep 2009 17:14:39 GMT' ;
preg_match('/(\d+) (\w+) (\d+) (\d+):(\d+):(\d+)/', $time, $a) ;
$ma = array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec') ;
$unixtime = gmmktime($a[4], $a[5], $a[6], array_search($a[2], $ma)+1, $a[1], $a[3]) ;

綺麗かどうかは分かりませんが。

id:nnrysk

ありがとうございます!

自分で書くより断然きれいっ、勉強になります!

2010/03/14 19:03:14

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません