Hatena::Grouprubyist

Rubyを勉強しようと思ってはじめた日記

2008-04-19

Rubyでアクセス解析をする(0.6)日付の文字列を分解する3

| 23:06 | Rubyでアクセス解析をする(0.6)日付の文字列を分解する3 - Rubyを勉強しようと思ってはじめた日記 を含むブックマーク はてなブックマーク - Rubyでアクセス解析をする(0.6)日付の文字列を分解する3 - Rubyを勉強しようと思ってはじめた日記 Rubyでアクセス解析をする(0.6)日付の文字列を分解する3 - Rubyを勉強しようと思ってはじめた日記 のブックマークコメント

とりあえず分解してみましたが...英語の月の短縮がいまいちわからない...。

とりあえずは、Timeオブジェクトになりましたよ、と。

montn_array = { 
    'Jan' => 1,
    'Feb' => 2,
    'Mar' => 3,
    'Apr' => 4,
    'May' => 5,
    'Jun' => 6,
    'Jul' => 7,
    'Aug' => 8,
    'Sep' => 9,
    'Oct' => 10, 
    'Nov' => 11, 
    'Dec' => 12
}
access_time = ['30/Mar/2008:04:11:41 +0900','30/Mar/2008:13:09:31 +0900']

access_time.each{|at|
    /^(.*)\/(.*)\/(.*):(.*):(.*):(.*) \+0900/ =~ at
    at_time = Time.local($3, montn_array[$2], $1, $4, $5, $6) 
    p at_time
    print '<hr>'
}

hiro-uedahiro-ueda2008/04/20 13:34Time#strftime を使って出力時に書式を指定するのが簡単だと思いますよ。月の省略形は %b みたいですね(参考:http://doc.loveruby.net/refm/api/view/method/Time/i/strftime)。

カレンダー
2007 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 09 | 10 | 11 | 12 |
2009 | 06 | 08 |