class ActiveModel::Type::DateTime
Active Model
DateTime Type¶ ↑
Attribute type to represent dates and times. It is registered under the :datetime
key.
class Event include ActiveModel::Attributes attribute :start, :datetime end event = Event.new event.start = "Wed, 04 Sep 2013 03:00:00 EAT" event.start.class # => Time event.start.year # => 2013 event.start.month # => 9 event.start.day # => 4 event.start.hour # => 3 event.start.min # => 0 event.start.sec # => 0 event.start.zone # => "EAT"
String
values are parsed using the ISO 8601 datetime format. Partial time-only formats are also accepted.
event.start = "06:07:08+09:00" event.start.utc # => 1999-12-31 21:07:08 UTC
The degree of sub-second precision can be customized when declaring an attribute:
class Event include ActiveModel::Attributes attribute :start, :datetime, precision: 4 end
Public Instance Methods
# File activemodel/lib/active_model/type/date_time.rb, line 49 def type :datetime end