ruby-on-rails - 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
谢谢。
解决方案
从这个问题
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'
推荐阅读
- python - 从 CLI 运行 python 轮,就像它是单个脚本一样
- python - Tkinter - 使用“panedwindow”小部件调整大小错误:
- android - Xamarin Forms 如何在 API 30(Android 11)中更改 Android 状态栏图标颜色
- javascript - 导入 ES6 模块导致脚本不执行 - Fullcalendar
- caching - https://cache.nixos.org 上整个 nixos 缓存的大小(以字节为单位)是多少?
- python - 给定另一个列表中的索引值,附加一个列表中的值
- reactjs - NextJS getStaticProps 正在使用 fallback: true 向同一个端点发出多个请求
- javascript - 找不到不是 es5 的 javascript 行
- flutter - 如何使该表可滚动到底部
- reactjs - ReactJS 中的动态组件名称