I need to convert a date string to the Unix timestamp format. The string I get from an API looks like:
2015-05-27T07:39:59Z
with .tr()
i get:
2015-05-27 07:39:59
which is a pretty regular date format. Nonetheless, Ruby isn't able to convert it to Unix TS format. I tried .to_time.to_i
but I keep getting NoMethodError
Errors.
In PHP the function strtotime()
just works perfectly for this.
Is there some similar method for Ruby?
Your date string is in RFC3339 format. You can parse it into a
DateTime
object, then convert it toTime
and finally to a UNIX timestamp.For a more general approach, you can use
DateTime.parse
instead ofDateTime.rfc3339
, but it is better to use the more specific method if you know the format, because it prevents errors due to ambiguities in the date string. If you have a custom format, you can useDateTime.strptime
to parse itOr, using Rails:
In rails 4, you can use like -
string.to_datetime.to_i
Try this one