解析和格式化DateTime对象的正确方法?

时间:2014-08-22 19:32:54

标签: ruby-on-rails ruby date ruby-on-rails-4

在rails中我将DateTime对象作为:

2014-08-21 18:14:12 UTC

我想将其显示为:

08-21-2014

我可以解释如下:

"2014-08-21 18:14:12 UTC".to_s.sub(/(\d*)(-)(\d*-\d*)/, '\3\2\1').first(10)

但我更喜欢正确的Rails / Ruby方式,而不必将Date对象转换为字符串。谢谢!

2 个答案:

答案 0 :(得分:2)

请参阅DateTime#strftime

> DateTime.now.strftime '%m-%d-%Y'
=> "08-22-2014"

请取悦,不要使用该格式,除非您别无选择。连字符只能用于Y-m-d格式。如果可能,请使用斜线或点。 (更好的是,使用Y-m-d!)

答案 1 :(得分:0)

只需使用strftime即可获得各种日期和格式时间。

 > DateTime.now.strftime("%m-%d-%Y")

 => "08-23-2014"

详细了解strftime