Ruby中的日期时间格式不适用于标识符

时间:2016-05-02 18:52:43

标签: ruby-on-rails datetime activerecord

我对 t.datetime。

的格式有疑问

当我在rails控制台中命令时,

Lesson.find(1781).start_time, 

然后

the Tue, 03 May 2016 14:00:00 UTC +00:00

返回。

如果我命令

Classtime.find_by(start_time: 'Tue, 03 May 2016 14:00:00 UTC +00:00')

,它返回nil。

但如果我命令

Classtime.find_by(start_time: Lesson.find(1781).start_time) 

,它返回

<Classtime id: 4429, start_time: "2016-05-03 14:00:00", created_at: "2016-04-21 15:53:22", updated_at: "2016-04-21 15:53:22"> 

所以我想,Lesson.find(1781).start_time在某种意义上不等于Lesson.find(1781).start_time的回报。我怎么能知道是什么原因造成的?

请与我分享!!!

1 个答案:

答案 0 :(得分:2)

此:

Classtime.find_by(start_time: Lesson.find(1781).start_time)

与:

相同
Classtime.find_by(start_time: '2016-05-03 14:00:00')

与以下内容不同:

Classtime.find_by(start_time: 'Tue, 03 May 2016 14:00:00 UTC +00:00')

数据库知道如何将字符串2016-05-03 14:00:00转换为日期,而不是字符串Tue, 03 May 2016 14:00:00 UTC +00:00