2010-11-11 2 views

Antwort

25

Time to XML-Format:

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

zu analysieren (Ruby 1.9 und darüber hinaus):

t = Time.now.xmlschema(str) 

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

+0

Sieht aus wie Time.now.xmlschema in Ruby 1.8.7 auch funktioniert. Vielen Dank! – Chanpory

+0

@GeekActive, vergessen Sie nicht, diese Antwort als ** Akzeptiert ** zu markieren. =) – John

+0

Sieht aus wie 'Time.xmlschema' als Erweiterung der' Time' Klasse von Rails implementiert ist. Es ist kein Ruby. Ich habe die Antwort aktualisiert. –

0

Verwenden Sie die strftime Methode

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

to_s konvertiert nicht zu xml. Ich bekomme nur die gleiche Antwort wie 'Time.now', aber in Anführungszeichen' "Wed Nov 10 16:46:51 - 0800 2010" ' – Chanpory

+0

Ja, ich habe die Waffe gesprengt, weil ich String gelesen habe. – rwilliams

+0

Mein Fehler im Titel, nur bearbeitet – Chanpory

5

Versuchen Time.now.iso8601

+0

Das ist auch eine knappe Antwort! – Chanpory

+0

"xs: dateTime, das in das W3C XML Schema Datentypen Spezifikation [Schema2] eingebaut ist, und MUSS in UTC-Form ausgedrückt werden, ohne Zeitzone Komponente." – Chloe

1

Hier ist ein rein-Ruby-Weg:

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

Sie können weitere Informationen über die verschiedenen Optionen strftime mit bekommen:

ri Time.strftime 
Verwandte Themen