强制 Ruby 时间 class 使用 ISO8601
Forcing Ruby Time class to use ISO8601
如何在调用 to_s
时强制 Ruby 的 Time
class 使用 ISO8601?
正如@DumpHole 提到的,您始终可以像这样覆盖 Time.to_s:
require 'time'
class Time
def to_s
iso8601
end
end
但是,您可能不想覆盖所有 Time 实例的 to_s
。相反,您可以创建自定义包装器 class 并使用它:
require 'time'
class Iso8601Time < Time
def to_s
iso8601
end
end
Iso8601Time.now.to_s #=> "2015-04-17T17:35:13-07:00"
如何在调用 to_s
时强制 Ruby 的 Time
class 使用 ISO8601?
正如@DumpHole 提到的,您始终可以像这样覆盖 Time.to_s:
require 'time'
class Time
def to_s
iso8601
end
end
但是,您可能不想覆盖所有 Time 实例的 to_s
。相反,您可以创建自定义包装器 class 并使用它:
require 'time'
class Iso8601Time < Time
def to_s
iso8601
end
end
Iso8601Time.now.to_s #=> "2015-04-17T17:35:13-07:00"