Фабричная девушка выпуска отметок времени - PullRequest
1 голос
/ 27 февраля 2012

Я использовал следующий код для генерации 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?

Спасибо,

1 Ответ

5 голосов
/ 27 февраля 2012

Сначала они являются экземплярами разных классов и представляют разную информацию: Date содержит только информацию о дате, а Time содержит всю информацию о дате, времени и часовом поясе

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

В вашем примере оба Date.todayи Time.now будет приведен к типу, указанному в дБ (дата или время)

>> 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 
...