如果我的日期时间值类似于1/10/2011 9:00:00,那么我如何从该日期时间的上午9:00获取?Rails:从日期时间获取时间
20
A
回答
34
strftime将做到这一点。
t = Time.now
t.strftime("%I:%M%p")
所有其他属性在这里:
http://www.wetware.co.nz/blog/2009/07/rails-date-formats-strftime/
2
使用下面的代码
datetime.strftime("%I:%M %P")
3
你从日期时间时如果你只是想要一个字符串输出,你可以这样做亚太区首席技术官Matt Chris用strftime
表示,但是如果你想从的实例中获得Time
的实例,你可以做到以下几点:
Time.parse(DateTime.now.to_s)
如果你想解析字符串像"1/10/2011 9:00:00"
,并得到Time
实例回来,你可以用同样的方法parse
:
Time.parse("1/10/2011 9:00:00") #=> 2011-10-01 09:00:00 -0500
注意格式:Ruby在解析日期时使用非美国友好的d/m/y格式。
要从Time
实例中输出时间的字符串表示形式,则返回strftime
。
希望这可以解决问题。
4
如果您需要在时间搜索从日期时间
:conditions => ["created_at::time > ?", "08:30" ]
17
DateTime.new(2011,10,1,9).to_s(:time) #=> "09:00"
DateTime.now.to_s(:time) #=> "11:58"
0
随着翻译
如果你使用的I18n,你可以很容易地定义你的own time formats
本地化您将Time对象传递给
I18n.l
的时间格式或(最好)使用Rails的#l
帮助程序。您可以通过将选择一个格式:格式选项# app/views/home/index.html.erb <h1><%=t :hello_world %></h1> <p><%= flash[:notice] %></p <p><%= l Time.now, format: :short %></p> # config/locales/pirate.yml pirate: time: formats: short: "arrrround %H'ish"
参考@克里斯巴雷托的答案的格式选项列表
相关问题
- 1. 仅从日期时间对象获取日期或时间
- 2. SQL Server 2008:从日期时间获取日期/时间
- 3. 从日期时间获取小时?
- 4. 获取时间仅日期时间
- 5. 获取时间(日期
- 6. 获取日期:时间xsl
- 7. 获取日期时间
- 8. 获取日期时间
- 9. 获取日期时间从字符串
- 10. 从整个日期获取时间
- 11. 从Linq获取分钟日期时间
- 12. 从字符串获取日期时间
- 13. 从日期获取时间段
- 14. 如何从JavaScript获取日期时间?
- 15. 从日期时间获取月份
- 16. 从TDateTimePicker获取日期时间
- 17. 从日期字符串获取时间
- 18. 从时间戳获取日期
- 19. 从VBA获取财产日期/时间
- 20. 从Sqlite获取时间/日期到Gnuplot
- 21. 获取时间从日期VB.Net
- 22. 从时间戳获取日期
- 23. 获取日期和时间从在
- 24. HSQL获取日期和时间从TIMESTAMP
- 25. 获取日期/时间HKQuantitySample - >从HealthKit
- 26. 从X天获取日期时间值?
- 27. 从日期和时间提取日期
- 28. django在日期时间的日期排序/从日期时间提取日期
- 29. 从连接日期和时间列获取时间戳
- 30. 在javascript中获取从时间的日期时间?
这将是冷静,如果你能理想地提取只是一个时间对象,而不关联日期。 – Trip
@Trip虽然时间不是一天的开始,但这是一个时间点。我同意一个“时间”概念与时间接口将是有益的。 – coreyward
@Trip其实,这里有一个图书馆似乎这样做(我没有玩过它,只是检查了自述文件):https://github.com/JackC/tod – coreyward