跳至内容 跳至搜索

Active 模型 日期时间类型

用于表示日期和时间的属性类型。它在 :datetime 键下注册。

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"

字符串 值使用 ISO 8601 日期时间格式解析。也接受部分时间格式。

event.start = "06:07:08+09:00"
event.start.utc # => 1999-12-31 21:07:08 UTC

在声明属性时,可以自定义亚秒精度的程度

class Event
  include ActiveModel::Attributes

  attribute :start, :datetime, precision: 4
end
方法
T
包含的模块

实例公共方法

type()

# File activemodel/lib/active_model/type/date_time.rb, line 49
def type
  :datetime
end