2014-08-22 3 views
0

В рельсах У меня есть объект DateTime как:Правильный способ разбора и форматирования объекта 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 в строку. Благодаря!

+1

См. ['DateTime # strftime'] (http://ruby-doc.org/stdlib-2.1.2/libdoc/date/rdoc/DateTime.html#method-i- STRFTIME). – Ryan

+0

http://strftime.net/ также является хорошей ссылкой – dax

ответ

2

См DateTime#strftime:

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

И пожалуйста, пожалуйста, пожалуйста, не использовать этот формат, если у вас нет выбора. Дефисы должны использоваться только для формата Y-m-d. Используйте косые черты или точки, если это возможно. (Еще лучше, используйте Ymd!)

0

Просто используйте strftime, чтобы получить различные форматы даты & раз.

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

=> "08-23-2014" 

Подробнее о strftime

Смежные вопросы