2010-11-11 2 views

ответ

25

Время в формат XML:

Time.now.xmlschema # implemented by Rails, not stock ruby 
Time.now.strftime '%Y-%m-%dT%H:%M:%S%z' 

http://corelib.rubyonrails.org/classes/Time.html#M000281

Для разбора (Ruby 1.9 и за его пределами):

t = Time.now.xmlschema(str) 

http://ruby-doc.org/core-1.9/classes/Time.html#M000329

+0

Похоже, Time.now.xmlschema работает и в Ruby 1.8.7. Благодаря! – Chanpory

+0

@GeekActive, не забудьте отметить этот ответ как ** Accepted **. =) – John

+0

Похож, что 'Time.xmlschema' реализуется как расширение класса' Time' Rails. Это не Рубин. Я обновил ответ. –

0

Используйте метод strftime

Time.now.strftime("your format string") 
+0

to_s не преобразуется в XML. Я просто получаю тот же ответ, что и «Time.now», но в кавычках «Ср Ноя 10 16:46:51 -0800 2010» ' – Chanpory

+0

Да, я прыгнул с пистолета, потому что я читал строку. – rwilliams

+0

Моя ошибка в заголовке, только что отредактировал – Chanpory

5

Попробуйте Time.now.iso8601

+0

Это приятный краткий ответ! – Chanpory

+0

"xs: dateTime, которая встроена в XML-схему W3C Тип данных спецификация [Схема2] и ДОЛЖНА быть выражена в форме UTC без компонента часовой пояс." – Chloe

1

Вот чисто рубин путь:

Time.now.strftime("%Y-%m-%dT%H:%M:%S%z") 

Вы можете получить более подробную информацию о различных вариантах с STRFTIME:

ri Time.strftime 
Смежные вопросы