gpt4 book ai didi

ruby-on-rails - Ruby Time.parse 给我超出范围的错误

转载 作者:数据小太阳 更新时间:2023-10-29 06:30:29 26 4
gpt4 key购买 nike

我正在使用 Time.parse 从字符串创建时间对象。

出于某种原因

Time.parse("05-14-2009 19:00")

导致参数我们的范围错误,而

Time.parse("05-07-2009 19:00")

没有

有什么想法吗?

最佳答案

如果您知道字符串的格式,请使用:

Time.strptime(date, format, now=self.now) {|year| ...}   

http://www.ruby-doc.org/core-1.9/classes/Time.html#M000266

它将解决您的问题,并且可能比 Time.parse 更快。​​

编辑:

看起来他们从 Time 类中获取了 strptime,但它仍然调用了 Date.strptime。如果你在 Rails 上,你可以这样做:

Date.strptime("05-14-2009 19:00","%m-%d-%Y %H:%M").to_time

如果你使用纯 ruby 那么你需要:

require 'date'
d=Date._strptime("05-14-2009 19:00","%m-%d-%Y %H:%M")

Time.utc(d[:year], d[:mon], d[:mday], d[:hour], d[:min],
d[:sec], d[:sec_fraction], d[:zone])

另请参阅:Date and Time formating issues in Ruby on Rails .

关于ruby-on-rails - Ruby Time.parse 给我超出范围的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/800118/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com