タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

tipsとRailsに関するsandmarkのブックマーク (1)

  • [rails] Time#to_s(:db) と TimeWithZone#to_s(:db) は違うので注意 - memo_ruby

    Time 型の表示は to_s よりも to_s(:db) の方が分かりやすいので良く使うのですが、Time と TimeWithZone で動きが違うことに気がつかず、とてもはまりました。 具体的にはこの違い... > Time.now.yesterday.to_s(:db) #=> "2012-04-03 03:02:39" > 1.days.ago.to_s(:db) #=> "2012-04-02 18:02:48" 上(Time.now.yesterday)はTimeクラス、下(1.days.ago)は TimeWithZoneクラスです。 ソースを読んでみると、TimeWithZone.to_sは :db が指定されたとき UTC の時間を返します。Time.to_s(:db)はJSTのまま返すので9時間の違いがうまれてしまうのです。 :db 以外は 同じです(正確にはフォーマ

    [rails] Time#to_s(:db) と TimeWithZone#to_s(:db) は違うので注意 - memo_ruby
    sandmark
    sandmark 2012/04/04
    TimeWithZoneクラスがあること自体知らなかった…
  • 1