Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Time ISO 8601 in Ruby

I am trying to return a date with this format

2015-10-07T00:32:50.877+0000

I have tested that

 Time.now.iso8601  => "2015-10-21T09:47:50-04:00" 

but i didn't have same format

tks

like image 679
Bolo Avatar asked Oct 21 '15 15:10

Bolo


People also ask

How do I set timezone in ISO 8601?

ISO 8601 represents date and time by starting with the year, followed by the month, the day, the hour, the minutes, seconds and milliseconds. For example, 2020-07-10 15:00:00.000, represents the 10th of July 2020 at 3 p.m. (in local time as there is no time zone offset specified—more on that below).

What is the current ISO 8601 time?

What is UTC Time in ISO-8601 Format? Current time: 20:22:20 UTC.

How do you parse time in Ruby?

Ruby | DateTime parse() function DateTime#parse() : parse() is a DateTime class method which parses the given representation of date and time, and creates a DateTime object. Return: given representation of date and time, and creates a DateTime object.


1 Answers

You can use strftime yourself and create the format you want as described here

The format you specified should be %Y-%m-%dT%H:%M:%S.%L%z

And so the complete Ruby statement would be Time.now.strftime('%Y-%m-%dT%H:%M:%S.%L%z')

Various ISO 8601 formats:

%Y%m%d           => 20071119                  Calendar date (basic) %F               => 2007-11-19                Calendar date (extended) %Y-%m            => 2007-11                   Calendar date, reduced accuracy, specific month %Y               => 2007                      Calendar date, reduced accuracy, specific year %C               => 20                        Calendar date, reduced accuracy, specific century %Y%j             => 2007323                   Ordinal date (basic) %Y-%j            => 2007-323                  Ordinal date (extended) %GW%V%u          => 2007W471                  Week date (basic) %G-W%V-%u        => 2007-W47-1                Week date (extended) %GW%V            => 2007W47                   Week date, reduced accuracy, specific week (basic) %G-W%V           => 2007-W47                  Week date, reduced accuracy, specific week (extended) %H%M%S           => 083748                    Local time (basic) %T               => 08:37:48                  Local time (extended) %H%M             => 0837                      Local time, reduced accuracy, specific minute (basic) %H:%M            => 08:37                     Local time, reduced accuracy, specific minute (extended) %H               => 08                        Local time, reduced accuracy, specific hour %H%M%S,%L        => 083748,000                Local time with decimal fraction, comma as decimal sign (basic) %T,%L            => 08:37:48,000              Local time with decimal fraction, comma as decimal sign (extended) %H%M%S.%L        => 083748.000                Local time with decimal fraction, full stop as decimal sign (basic) %T.%L            => 08:37:48.000              Local time with decimal fraction, full stop as decimal sign (extended) %H%M%S%z         => 083748-0600               Local time and the difference from UTC (basic) %T%:z            => 08:37:48-06:00            Local time and the difference from UTC (extended) %Y%m%dT%H%M%S%z  => 20071119T083748-0600      Date and time of day for calendar date (basic) %FT%T%:z         => 2007-11-19T08:37:48-06:00 Date and time of day for calendar date (extended) %Y%jT%H%M%S%z    => 2007323T083748-0600       Date and time of day for ordinal date (basic) %Y-%jT%T%:z      => 2007-323T08:37:48-06:00   Date and time of day for ordinal date (extended) %GW%V%uT%H%M%S%z => 2007W471T083748-0600      Date and time of day for week date (basic) %G-W%V-%uT%T%:z  => 2007-W47-1T08:37:48-06:00 Date and time of day for week date (extended) %Y%m%dT%H%M      => 20071119T0837             Calendar date and local time (basic) %FT%R            => 2007-11-19T08:37          Calendar date and local time (extended) %Y%jT%H%MZ       => 2007323T0837Z             Ordinal date and UTC of day (basic) %Y-%jT%RZ        => 2007-323T08:37Z           Ordinal date and UTC of day (extended) %GW%V%uT%H%M%z   => 2007W471T0837-0600        Week date and local time and difference from UTC (basic) %G-W%V-%uT%R%:z  => 2007-W47-1T08:37-06:00    Week date and local time and difference from UTC (extended) 
like image 136
davidrac Avatar answered Oct 15 '22 15:10

davidrac