Time.rfc2822
関数を強制的に吐き出すにはどうすればよい+0000
ですか?
Ruby を使用すると、RFC2822形式の時刻を非常に簡単に解析できます。
require 'time'
time = Time.parse('14 Aug 2009 09:28:32 +0000')
puts time
=> "2009-08-14 05:28:32 -0400"
しかし、時間を表示するにはどうすればよいでしょうか。解析された時刻は現地時間であることに注意してください。心配する必要はありません。次の方法で UTC 時間に戻すことができますgmtime
。
puts time.gmtime
=> "2009-08-14 09:28:32 UTC"
その後、RFC2822 形式に戻すことができます。
puts time.gmtime.rfc2822
=> "Fri, 14 Aug 2009 09:28:32 -0000"
残念ながら、これは私が望むものではありません。+0000
が になっていることに注意してください-0000
。RFC2822 によると、これは次の理由によるものです。
「+0000」という形式は、世界時のタイム ゾーンを示すために使用する必要があります。「-0000」も世界時を示しますが、世界時以外のローカル タイム ゾーンにある可能性のあるシステムで時刻が生成されたことを示すために使用されるため、日時にローカル時刻に関する情報が含まれていないことを示します。ゾーン。
素晴らしい -モンキーパッチを機能+0000
に適用する以外に、どうすれば強制できますか?rfc2822