如何将格式化日期转换成时间戳?
- 内容介绍
- 文章标签
- 相关推荐
本文共计331个文字,预计阅读时间需要2分钟。
我需要将日期字符串转换为Unix时间戳。例如,我从API获取的字符串如下所示:
2015-05-27T07:39:59Z 与 .tr() 我得到:2015-05-27 07:39:59
这是非常规的日期格式。尽管如此,Ruby无法将其转换为Unix时间戳。 我需要将日期字符串转换为Unix时间戳格式.我从API获得的字符串如下所示:
2015-05-27T07:39:59Z
与.tr()我得到:
2015-05-27 07:39:59
这是一种非常规则的日期格式.尽管如此,Ruby无法将其转换为Unix TS格式.我试过.to_time.to_i但我一直得到NoMethodError错误.
在PHP中,函数strtotime()完全适用于此.
Ruby有一些类似的方法吗?
require 'date' DateTime.rfc3339('2015-05-27T07:39:59Z') #=> #<DateTime: 2015-05-27T07:39:59+00:00 ((2457170j,27599s,0n),+0s,2299161j)> DateTime.rfc3339('2015-05-27T07:39:59Z').to_time #=> 2015-05-27 09:39:59 +0200 DateTime.rfc3339('2015-05-27T07:39:59Z').to_time.to_i #=> 1432712399
对于更通用的方法,您可以使用DateTime.parse而不是DateTime.rfc3339,但如果您知道格式,则最好使用更具体的方法,因为它可以防止由于日期字符串中的歧义而导致的错误.如果您有自定义格式,则可以使用DateTime.strptime进行解析
本文共计331个文字,预计阅读时间需要2分钟。
我需要将日期字符串转换为Unix时间戳。例如,我从API获取的字符串如下所示:
2015-05-27T07:39:59Z 与 .tr() 我得到:2015-05-27 07:39:59
这是非常规的日期格式。尽管如此,Ruby无法将其转换为Unix时间戳。 我需要将日期字符串转换为Unix时间戳格式.我从API获得的字符串如下所示:
2015-05-27T07:39:59Z
与.tr()我得到:
2015-05-27 07:39:59
这是一种非常规则的日期格式.尽管如此,Ruby无法将其转换为Unix TS格式.我试过.to_time.to_i但我一直得到NoMethodError错误.
在PHP中,函数strtotime()完全适用于此.
Ruby有一些类似的方法吗?
require 'date' DateTime.rfc3339('2015-05-27T07:39:59Z') #=> #<DateTime: 2015-05-27T07:39:59+00:00 ((2457170j,27599s,0n),+0s,2299161j)> DateTime.rfc3339('2015-05-27T07:39:59Z').to_time #=> 2015-05-27 09:39:59 +0200 DateTime.rfc3339('2015-05-27T07:39:59Z').to_time.to_i #=> 1432712399
对于更通用的方法,您可以使用DateTime.parse而不是DateTime.rfc3339,但如果您知道格式,则最好使用更具体的方法,因为它可以防止由于日期字符串中的歧义而导致的错误.如果您有自定义格式,则可以使用DateTime.strptime进行解析

