Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 解析和格式化DateTime对象的正确方法?_Ruby On Rails_Ruby_Date_Ruby On Rails 4 - Fatal编程技术网

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

Ruby on rails 解析和格式化DateTime对象的正确方法?,ruby-on-rails,ruby,date,ruby-on-rails-4,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方式,不必将日期对象转换为字符串。谢谢 只需使用strftime即可获得各种格式的日期和时间 > DateTime.now.s

在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方式,不必将日期对象转换为字符串。谢谢

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

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

 => "08-23-2014"
阅读更多关于

的信息,请参阅:

请不要用那种格式,除非你别无选择。连字符只能用于Y-m-d格式。如果可能,使用斜线或点。(最好使用Y-m-d!)

请参见。也是一个很好的参考
> DateTime.now.strftime '%m-%d-%Y'
=> "08-22-2014"