2012-02-27 93 views
1

我用下面的代碼來生成3個嘲笑:工廠女孩時間戳問題

# today is 27.02 
    order1 = Factory(:order, :created_at => Date.yesterday) # created_all is 25.02? 
    order2 = Factory(:order, :quantity => 2, :created_at => Date.today) # created_all is 26.02?? 
    order3 = Factory(:order, :created_at => Date.today) # created_all is 26.02??? 

爲了將日期設定正確的使用:

order1 = Factory(:order, :created_at => 1.days.ago) 
    order2 = Factory(:order, :quantity => 2, :created_at => Time.now) 
    order3 = Factory(:order, :created_at => Time.now) 

任何想法是什麼之探源愨Date.today和Time.now?

謝謝

回答

5

首先它們是不同類的實例,並代表不同的信息: 日期只包含最新信息,和時間包含了所有的日期,時間和時區信息

>> Date.today 
=> #<Date: 2012-02-27 (4911969/2,0,2299161)> 
>> Time.now 
=> 2012-02-27 14:14:22 +0200 

在你的例子中,Date.today和Time.now都將被輸入到db中的類型(日期或時間)

>> Time.now 
=> 2012-02-27 14:14:22 +0200 
>> Time.now.to_date 
=> #<Date: 2012-02-27 (4911969/2,0,2299161)> 
>> Time.now.to_date.to_time 
=> 2012-02-27 00:00:00 +0200