Convert to/from DateTime and Time in Ruby

后端 未结 6 1463
挽巷
挽巷 2020-11-29 16:44

How do you convert between a DateTime and a Time object in Ruby?

6条回答
  •  暖寄归人
    2020-11-29 17:03

    As an update to the state of the Ruby ecosystem, Date, DateTime and Time now have methods to convert between the various classes. Using Ruby 1.9.2+:

    pry
    [1] pry(main)> ts = 'Jan 1, 2000 12:01:01'
    => "Jan 1, 2000 12:01:01"
    [2] pry(main)> require 'time'
    => true
    [3] pry(main)> require 'date'
    => true
    [4] pry(main)> ds = Date.parse(ts)
    => #
    [5] pry(main)> ds.to_date
    => #
    [6] pry(main)> ds.to_datetime
    => #
    [7] pry(main)> ds.to_time
    => 2000-01-01 00:00:00 -0700
    [8] pry(main)> ds.to_time.class
    => Time
    [9] pry(main)> ds.to_datetime.class
    => DateTime
    [10] pry(main)> ts = Time.parse(ts)
    => 2000-01-01 12:01:01 -0700
    [11] pry(main)> ts.class
    => Time
    [12] pry(main)> ts.to_date
    => #
    [13] pry(main)> ts.to_date.class
    => Date
    [14] pry(main)> ts.to_datetime
    => #
    [15] pry(main)> ts.to_datetime.class
    => DateTime
    

提交回复
热议问题