【问题标题】:Parsing string "10:00AM" to DateTime Type?将字符串“10:00AM”解析为日期时间类型?
【发布时间】:2013-08-13 01:27:24
【问题描述】:

我正在从 html 中读取字符串,但想将它们作为 DateTime 字段类型存储在数据库中。在正确保留 AM/PM 数据的同时,有什么简单的方法可以做到这一点?

谢谢!

【问题讨论】:

    标签: ruby-on-rails ruby datetime


    【解决方案1】:

    你的数据库访问层应该支持 Ruby DateTime 类型,因此你可以这样解析它:

    require 'date'
    
    DateTime.parse("10:00AM") 
    # => #<DateTime: 2013-08-11T10:00:00+00:00 ((2456516j,36000s,0n),+0s,2299161j)> 
    

    整个 meridiem 符号 (AM/PM) 处于演示级别。您的数据库会将其存储在其 DateTime 结构中,每次您将其检索回 Rails 时,您都可以使用 strftime 获取您的演示文稿

    your_date.strftime("%I:%M%p") 
    => "10:00AM" 
    

    【讨论】:

    • 感谢 platzhirsch!我在控制台上对此进行了测试,它假定今天的日期。有没有办法让它只保存独立于任何日期的时间数据?
    • 我将这些时间记录为每周事件的开始/结束,以后希望能够使用时间值进行比较,以查看哪个更早/更晚开始。如果我有一个与时间相关的日期,我的比较将不准确。
    • @ChristophePrakash 在这种情况下,您可以在TimeDateTime 格式之间进行转换,请参阅stackoverflow.com/questions/279769/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    • 2012-01-28
    • 2019-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多