22

フラット ファイルからデータをインポートしようとしていますが、奇妙な結果が得られます。日付に関連付けられていない時刻をインポートすると、この時刻にも日付が挿入されるのはなぜですか?

1.9.3-p286 :008 > v.arrival_time = Time.parse("10:10")
 => 2012-11-06 10:10:00 -0400

日付を単独で保持する方法しかないと思いますが、アクティブなレコードの列タイプ:timeにもかかわらず、時刻を単独で保持する方法はありません。次のようにそれらを別々に保つ方法はありますか?

1.9.3-p286 :002 > Date.parse("JAN 01 2000")
 => Sat, 01 Jan 2000 
4

2 に答える 2

12

TimeRubyのオブジェクトは、「 Unix Time」を使用して、時間ポイントを 1970 年 1 月 1 日 00:00 UTC からの秒数として保存します。strftime出力の形式を単に変更するなどのさまざまな方法がありますが、オブジェクトが内部に保存される方法は変更されません。

インポートしたデータを Time オブジェクトとして保持し、実際に含まれているものに注意するか、データを文字列としてインポートするが、 の魅力的で便利な機能をすべて放棄するかを決定する必要がありますTime

于 2012-11-06T19:05:45.793 に答える