ruby - 将 Ruby 字符串转换为正确的日期和时间
问题描述
我有一个包含 Timestamp 的 Ruby 变量,我需要从中获取 Date 和 Time ,我能够获取 Date (但错误)时间始终是 00:00 (注意:li
是从文件中获取的变量)
li = 'Date: Wed, 25 Dec 2019 23:16:52 -0600'
date = li.delete("Date: ")
=> "Wd,25c2019231652-0600"
puts date
Wd,25c2019231652-0600
Date.parse(date).to_s
=> "2020-09-25"
Time.parse(date).to_s
=> "2020-09-25 00:00:00 +0530"
DateTime.parse(date).to_s
=> "2020-09-25T00:00:00+00:00"
DateTime.parse(date).strftime('%Y-%d-%m %H:%M:%S')
=> "2020-25-09 00:00:00"
我需要获取正确的日期和时间(UTC 或 -0600)
解决方案
li = 'Date: Wed, 25 Dec 2019 23:16:52 -0600'
require 'date'
Date.strptime(li, 'Date: %a, %d %b %Y %H:%M:%S %z')
#=> #<Date: 2019-12-25 ((2458843j,0s,0n),+0s,2299161j)>
请参阅日期::strptime。日期时间格式指令在文档DateTime#strftime中给出。
推荐阅读
- c - Makefile:为什么带有 % 的 makefile 不起作用?
- google-apps-script - 一个非常简单的函数需要很长时间才能执行
- azure - Azure 数据工厂 - 如何处理来自 Microsoft 图形 REST 源的 CSV 数据
- vba - 如何在 MS Word 中为我现有的 VB 代码添加条件格式?
- postgresql - 如果我对 PK 使用约束会发生什么?
- reactjs - amcharts中如何更改图表的背景颜色
- javascript - 如何在脚本中停止 .getvalues() 超过例如 10 秒
- docker - 在 Windows docker 容器中合并拆分文件
- c# - 应用控制模板修改
- javascript - 使用 jQuery 在 li 上设置一个值