我目前正在PostGres数据库中保存一个时间戳,其格式为
"2017-08-17T20:42:52.724773"
我希望能够在几秒钟内翻译这个日期和时间,并能够以秒的另一种方式进行操作:“2017-08-17T20:42:52.724773”
知道如何在ruby中做到这一点
答案 0 :(得分:0)
我认为您会将其转换为带有> Add-AppxProvisionedPackage -Online -FolderPath C:\Appx -SkipLicense
的红宝石时间戳,然后使用Time.parse
以秒为单位获取纪元时间,如下所示:
strftime("%s")
在此处传递给time = "2017-08-17T20:42:52.724773"
time.strftime("%s")
的完整选项列表:https://apidock.com/ruby/DateTime/strftime
此处有strftime
更详细信息:https://ruby-doc.org/stdlib-2.1.1/libdoc/time/rdoc/Time.html
答案 1 :(得分:0)
date = DateTime.parse "2017-08-17T20:42:52.724773"
=> Thu, 17 Aug 2017 20:42:52 +0000
date.to_i
=> 1503002572
答案 2 :(得分:0)
我希望能够在几秒钟内翻译这个日期和时间[...]
如果您有字符串,可以parse
将其添加到Time
个实例中:
require 'time'
t = Time.parse('2017-08-17T20:42:52.724773')
#=> 2017-08-17 20:42:52 +0200
然后可以通过to_f
提取秒(自纪元以来):
sec = t.to_f
#=> 1502995372.7247732
[...]并能够以其他方式进行操作
秒可以依次传递给Time::at
:
t = Time.at(sec)
#=> 2017-08-17 20:42:52 +0200
它再次返回Time
个实例。这可以通过strftime
格式化:
t.strftime('%FT%T.%6N')
#=> "2017-08-17T20:42:52.724773"