回答
对Ruby 1.9.2:
require 'date' # If not already required. If in Rails then you don't need this line).
puts DateTime.parse("2011-06-02T23:59:59+05:30").to_date.to_s
Simplies方式是
require 'date'
date = "2011-06-02T23:59:59+05:30".gsub(/T.*/, '')
DateTime.parse(date)
或者你可以使用日期而不是日期时间并忽略gsub操作; – Schovi 2011-06-02 11:56:45
require 'date'
d = Date.parse("2011-06-02T23:59:59+05:30")
d.strftime("%F")
或简单的'd.to_s' :) – rubyprince 2011-06-02 12:00:43
这将不会正确解析时间戳 - 使用'DateTime .parse()',除非你只想使用日期。 – 2014-06-01 13:08:06
@ AdamMcArthur ..该OP特别只想要日期部分。但是,你是对的。即使是日期,如果我们省略时间部分和时区,它可能会很危险,因为它可能是另一个时区的另一天。所以,最好使用'DateTime.parse'。 – rubyprince 2014-06-02 09:48:15
Time.parse()应允许您解析整个日期时间。然后,您可以使用time.strftime(字符串)将其格式化为字符串中的日期。
date = Time.parse("2011-06-02T23:59:59+05:30") date_string = time.strftime("%y-%m-%d") of date_string = time.strftime("%F")
(见Ruby Doc for Time更多的输出字符串格式) 如果你想有一个字符串上面应该工作;如果你想要一个日期对象来处理,那么ruby Date类可以帮助你处理它,但是我相信所有事情仍然需要用Time对象来完成;有关Date类的详细信息,请参阅Ruby Doc for Date。
希望有帮助,让我知道如果我用我的答案走错了方向。
- 1. 将字符串转换为日期并将日期转换回字符串
- 2. 将字符串转换为日期
- 3. 将字符串转换为日期php
- 4. 将字符串转换为日期
- 5. 将字符串转换为IST日期
- 6. 将日期转换为字符串
- 7. Swift将字符串转换为日期
- 8. 将日期转换为字符串
- 9. 将日期转换为字符串SQL
- 10. NSDateformatter将日期转换为字符串
- 11. Bash - 将字符串转换为日期
- 12. nsdateformatter ---将字符串转换为日期
- 13. 将字符串转换为日期
- 14. vb.net将字符串转换为日期
- 15. 将字符串转换为javascript日期
- 16. Sqlite将字符串转换为日期
- 17. 将字符串转换为日期
- 18. 将字符串日期转换为java.sql.Date
- 19. 将长字符串转换为日期
- 20. 将字符串转换为MySQL日期
- 21. 将字符串转换为日期
- 22. Stata:将字符串转换为日期
- 23. 将字符串转换为日期
- 24. Android将字符串转换为日期
- 25. 将JavaScript字符串转换为日期
- 26. 将字符串转换为日期C++
- 27. Java:将字符串转换为日期
- 28. PHP - 将字符串转换为日期
- 29. 字符串日期转换错误Ruby
- 30. Ruby字符串日期转换
这已被问及答复无数次。我建议关闭重复。 http://stackoverflow.com/questions/2720907/ruby-convert-string-to-date – 2011-06-02 12:00:26
[Ruby字符串日期转换]的可能重复(http://stackoverflow.com/questions/3599239/ruby-string-to日期转换) – DGM 2011-06-02 21:12:55