微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将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)> 

请参见Date::strptime。日期时间格式指令在文档DateTime#strftime中给出。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。