instance method
to_formatted_s
Ruby on Rails 4.1.16
Since v3.0.20Signature
to_formatted_s(format = :default)
Convert to a formatted string. See Time::DATE_FORMATS for predefined formats.
This method is aliased to to_s.
Examples
datetime = DateTime.civil(2007, 12, 4, 0, 0, 0, 0) # => Tue, 04 Dec 2007 00:00:00 +0000 datetime.to_formatted_s(:db) # => "2007-12-04 00:00:00" datetime.to_s(:db) # => "2007-12-04 00:00:00" datetime.to_s(:number) # => "20071204000000" datetime.to_formatted_s(:short) # => "04 Dec 00:00" datetime.to_formatted_s(:long) # => "December 04, 2007 00:00" datetime.to_formatted_s(:long_ordinal) # => "December 4th, 2007 00:00" datetime.to_formatted_s(:rfc822) # => "Tue, 04 Dec 2007 00:00:00 +0000" datetime.to_formatted_s(:iso8601) # => "2007-12-04T00:00:00+00:00"
Adding your own datetime formats to to_formatted_s
DateTime formats are shared with Time. You can add your own to the Time::DATE_FORMATS hash. Use the format name as the hash key and either a strftime string or Proc instance that takes a time or datetime argument as the value.
# config/initializers/time_formats.rb Time::DATE_FORMATS[:month_and_year] = '%B %Y' Time::DATE_FORMATS[:short_ordinal] = lambda { |time| time.strftime("%B #{time.day.ordinalize}") }
Parameters
-
formatopt = :default
Source
# File activesupport/lib/active_support/core_ext/date_time/conversions.rb, line 33
def to_formatted_s(format = :default)
if formatter = ::Time::DATE_FORMATS[format]
formatter.respond_to?(:call) ? formatter.call(self).to_s : strftime(formatter)
else
to_default_s
end
end
Defined in activesupport/lib/active_support/core_ext/date_time/conversions.rb line 33
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in DateTime