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
Inherits From
-
class
Value
-
module
ActiveModel::
Type:: Helpers:: Timezone -
module
ActiveModel::
Type:: Helpers:: TimeValue
Public instance methods
Source code GitHub
# File activemodel/lib/active_model/type/date_time.rb, line 49
def type
:datetime
end