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
Methods
Included Modules
Instance Public methods
type()
📝 Source code
# File activemodel/lib/active_model/type/date_time.rb, line 49
def type
:datetime
end
🔎 See on GitHub