首页 > 解决方案 > WebKit/Chrome 时间戳转换为 Ruby/Rails

问题描述

如何将 WebKit/Chrome 时间戳转换为 Ruby/Rails。

这是来自 Chrome excel 的时间戳数据,13130755192116927但我如何使用 Ruby/Rails 转换为人类可读的格式。

我发现了一些例子,How to convert a unix timestamp (seconds since epoch) to Ruby DateTime?但是这个数据长度是 13 而我的数据长度是 17。

我如何像WebKit/Chrome Timestamp Converter一样实现这一点。

GMT: Sunday, February 5, 2017 7:59:52 AM

谢谢。

标签: ruby-on-railsrubyunix-timestampepoch

解决方案


这个问题

Google 时间戳的格式为自 1601 年 1 月以来的微秒数

所以这里有一个 Ruby 示例:

require 'date'

chrome_timestamp = 13130755192116927

# Get the January 1601 unixepoch
since_epoch = DateTime.new(1601,1,1).to_time.to_i

# Transfrom Chrome timestamp to seconds and add 1601 epoch
final_epoch = (chrome_timestamp / 1000000) + since_epoch

# Print DateTime
date = DateTime.strptime(final_epoch.to_s, '%s')

# without formating
puts date
=> '2017-02-05T07:59:52+00:00'

# with formating
puts date.strftime('%A, %B %-d, %Y %-I:%M:%S %p')
=> 'Sunday, February 5, 2017 7:59:52 AM'

推荐阅读