taro
taro

Reputation: 719

converting Time class object to RFC3339 in Ruby

Google Calendar API(v2)'s time-related query is required to be RFC3339-formatted. When I looked up Time class after 'require "time"', I could not see rfc3339 method.

Upvotes: 12

Views: 10999

Answers (4)

Rimian
Rimian

Reputation: 38418

If you are using ActiveRecord, you can use the to_datetime method to convert the time to a DateTime object.

Time.now.to_datetime.rfc3339 #=> "2014-11-06T10:40:54+11:00" 

See:
http://www.ruby-doc.org/stdlib-2.4.1/libdoc/date/rdoc/Time.html.

Upvotes: 23

Dave Sag
Dave Sag

Reputation: 13486

The way I chose to do this was Time.now.utc.strftime('%FT%TZ') #=> "2013-08-15T06:13:28Z" which is perfect for an HTML5 type='datetime' input field.

Upvotes: 7

Benjamin Tan Wei Hao
Benjamin Tan Wei Hao

Reputation: 9691

Does this help? http://www.ruby-doc.org/stdlib-1.9.3/libdoc/date/rdoc/DateTime.html#method-i-rfc3339

DateTime.parse('2001-02-03T04:05:06.123456789+07:00').rfc3339(9)
                          #=> "2001-02-03T04:05:06.123456789+07:00"

Upvotes: 7

taro
taro

Reputation: 719

A website mentioned that RFC3339 is most common date format in RSS feeds, so that the conversion method is implemented as #xmlschema, but not #rfc3339.

Upvotes: 0

Related Questions