2013-08-28 2 views
0

ли это нормально, что рельсы поставить что-то вроде этого:Как изменить формат даты в рельсах

DateTime.now = 2013-07-28T16:21:13+02:00 

Почему это T между датой и временем? Как я могу удалить его. В I18n у меня есть по умолчанию:

default: ! '%a, %d %b %Y %H:%M:%S %z' 
+0

Если вы установили значение по умолчанию в I18n, используйте I18n для форматирования DateTime: 'I18n.l (DateTime.now, format:: default)' (Да, 'format:: default' является необязательным, если вы не хотите другого формат, чем ': default') – MrYoshiji

+0

ok, но почему я вижу это T - у меня есть другое приложение rails, и между датой и временем T нет. – Wordica

+0

Это потому, что к этой дате был вызван метод 'to_s': выполнение' puts DateTime.now' вызывает неявное 'to_s' на' DateTime.now' (в вашей консоли IRB, попробуйте 'DateTime.now' и' DateTime .now.to_s', вы поймете) – MrYoshiji

ответ

2

В вашей IRB консоли, если вы звоните puts variable, это сделает неявный вызов метода to_s на variable объекта:

1.9.3 > DateTime.now 
# => Wed, 28 Aug 2013 10:39:30 -0400 
1.9.3 > puts DateTime.now 
2013-08-28T10:39:33-04:00 
# => nil 
1.9.3 > DateTime.now.to_s 
# => "2013-08-28T10:39:37-04:00" 

Вот почему вы видите «Т» на выходе, его ошибка .to_s!

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