JSON の日付型
Rails 2.0 では対応されたかもしれないが、Rails 1.2 の時代には Time クラスに to_json メソッドが正しく定義されていなかった。
「Timeオブジェクトに対するto_jsonメソッド呼び出し」によれば、
ActiveSupport::JSON::Encoders::define_encoder(Time) do |time| time.to_i.to_json end
とすればいいらしい。
Time オブジェクトは時刻を起算時からの経過秒数で保持しています。起算時は協定世界時(UTC、もしくはその旧称から GMT とも表記されます) の 1970年1月1日午前0時です。なお、うるう秒を勘定するかどうかはシステムによります。
とのこと。うるい秒って怖いな。
これを Javascript のほうでは、
d = new Date(); d.setTime([Ruby の Time.to_i の数値] * 1000)
ということで日付型に変換できるようだ。Date#setTime には、1970年1月1日0時0分0秒(GMT)からの秒数をミリ秒単位で設定する。
とほほのJavaScript入門(日付)を参考にした。