読者です 読者をやめる 読者になる 読者になる

tumblr

tumblr(タンブラー)は、メディアミックスブログサービス。ブログとミニブログ、そしてソーシャルブックマークを統合したマイクロブログサービスである。アメリカのDavidville.inc(現: Tumblr, Inc.)により2007年3月1日にサービスが開始された。

HTTPのヘッダーに入れる時刻を出力・パースする

HTTPのレスポンスヘッダに入れる「Date」は、RFC2616のHTTP Dateの中で以下のように定められている.

  • HTTP/1.1アプリケーションは、HTTPに関するあらゆる日付フォーマットを「RFC 1123形式」にて生成しなければならない。
  • 全ての日付、及び日付に関係する全ての計算はGMTグリニッジ標準時)にて表されなければならない(※1)。 もし、他のプロトコルなどからGMT以外のタイムゾーンが使われた場合、受信者はGMTに変換しなければならない。

http://www.studyinghttp.net/header#HTTP-Date

RFC1123形式というのは"Fri, 03 Jan 2014 08:39:11 GMT"みたいな形式のやつ。
rubyでこの形式の文字列を出力するには、strftimeを使って力ずくで出力することも出来ないこともないだろうけど、httpdateメソッドを使うのが一番楽っぽい

Time.now.httpdate # => "Fri, 03 Jan 2014 08:39:11 GMT"

また、RFC1123形式の時刻形式もTime.parseでパースすることが出来る

Time.parse("Fri, 03 Jan 2014 08:39:11 GMT") # => 2014-01-03 17:39:11 +0900

localtimeに勝手に変換してくれるのも嬉しい。