我有一个表中有一个日期字段。我将如何使用控制台保存日期?我试过 event = Event.create(name:"Concert", date:08/20/2016, location:'Portland', state:'OR')
但是,我得到一个无效的八进制数字错误。如何使用控制台将日期保存到导轨中
2
A
回答
2
你会想在实际Date对象,你可以从与Date.parse
方法得到的字符串传递:
event = Event.create(name: "Concert", date: Date.parse('2016-08-20'), location: 'Portland', state: 'OR')
请注意,我已经重写你的约会是在一个不同的格式。 MM/DD/YYYY
格式是而不是可以跨地区使用,所以我强烈建议您使用YYYY-MM-DD
(ISO 8601格式)。
1
2
以正确的格式使用字符串会做的伎俩。例如:
>> foo = Foo.create date: "20/8/2016"
(0.0ms) begin transaction
SQL (1.0ms) INSERT INTO "foos" ("date") VALUES (?) [["date", Sat, 20 Aug 2016]]
(0.9ms) commit transaction
#<Foo id: 1, date: "2016-08-20">
>> foo.date
Sat, 20 Aug 2016
ActiveSupport为字符串类型转换为日期,时间和日期时间的String类提供了核心扩展。这可能是好的,并且更方便,可以利用Rails控制台进行测试。
利用应用程序本身的这个扩展(而不是用Date.parse
明确解析)完全取决于你和你的团队。
从source:
"1-1-2012".to_date # => Sun, 01 Jan 2012
"01/01/2012".to_date # => Sun, 01 Jan 2012
"2012-12-13".to_date # => Thu, 13 Dec 2012
"12/13/2012".to_date # => ArgumentError: invalid date
只是要彻底,实例为String#to_time
"13-12-2012".to_time # => 2012-12-13 00:00:00 +0100
"06:12".to_time # => 2012-12-13 06:12:00 +0100
"2012-12-13 06:12".to_time # => 2012-12-13 06:12:00 +0100
"2012-12-13T06:12".to_time # => 2012-12-13 06:12:00 +0100
"2012-12-13T06:12".to_time(:utc) # => 2012-12-13 06:12:00 UTC
"12/13/2012".to_time # => ArgumentError: argument out of range
而且String#to_datetime
:
"1-1-2012".to_datetime # => Sun, 01 Jan 2012 00:00:00 +0000
"01/01/2012 23:59:59".to_datetime # => Sun, 01 Jan 2012 23:59:59 +0000
"2012-12-13 12:50".to_datetime # => Thu, 13 Dec 2012 12:50:00 +0000
"12/13/2012".to_datetime # => ArgumentError: invalid date
相关问题
- 1. 使用导轨控制台
- 2. 如何在非导轨项目中使用导轨控制台?
- 3. 如何将日期值从日历传递到控制器中的导轨
- 4. NoMethodError:undefined方法`保存'轨道控制台
- 5. 我想将eclipse控制台日志保存到字符串中
- 6. CSSLint:如何将日志从控制台日志保存到文件
- 7. 导轨 - 将数据保存到另一个控制器
- 8. 写入导轨控制台
- 9. 导轨 - 通过控制台
- 10. 通过导轨控制台保存文本文件
- 11. 导轨控制台找到模型的父母(如果存在)
- 12. 如何使用phantomjs将控制台打印到控制台
- 13. 使用轨道控制台
- 14. 如何使用@ Html.DisplayFor将日期保存到数据库中
- 15. 如何使用capistrano访问导轨控制台?
- 16. 如何将日期保存到oracle
- 17. 导轨控制台不起作用
- 18. 保存控制台登录导航
- 19. Groovy如何将控制台输出保存到文件?
- 20. Java:如何将控制台输出保存到文本文件?
- 21. 将日期保存到MySQL
- 22. 轨控制台
- 23. 导轨控制台无法在导轨中工作3.2.1
- 24. 如何在使用撬轨时清洁导轨控制台输出?
- 25. 使用node.js将控制台显示到控制台中
- 26. 如何使用Swift将日期字段保存到Firebase?
- 27. 我如何检查,观察员们在导轨使控制台
- 28. 如何将vb.net日期保存到mysql日期(不)0000-00-00
- 29. 在导轨控制台中写入文件在退出时不保存
- 30. 如何在导轨中验证日期?
您的日期不是一个字符串,因此它解析为数。以0开头的数字被解释为八进制数,8不是那里的有效数字。 –