diff options
Diffstat (limited to 'activesupport/lib/active_support/core_ext/date_time/zones.rb')
-rw-r--r-- | activesupport/lib/active_support/core_ext/date_time/zones.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/activesupport/lib/active_support/core_ext/date_time/zones.rb b/activesupport/lib/active_support/core_ext/date_time/zones.rb new file mode 100644 index 0000000000..98565e6750 --- /dev/null +++ b/activesupport/lib/active_support/core_ext/date_time/zones.rb @@ -0,0 +1,17 @@ +class DateTime + # Returns the simultaneous time in <tt>Time.zone</tt>. + # + # Time.zone = 'Hawaii' # => 'Hawaii' + # DateTime.new(2000).in_time_zone # => Fri, 31 Dec 1999 14:00:00 HST -10:00 + # + # This method is similar to Time#localtime, except that it uses <tt>Time.zone</tt> as the local zone + # instead of the operating system's time zone. + # + # You can also pass in a TimeZone instance or string that identifies a TimeZone as an argument, + # and the conversion will be based on that zone instead of <tt>Time.zone</tt>. + # + # DateTime.new(2000).in_time_zone('Alaska') # => Fri, 31 Dec 1999 15:00:00 AKST -09:00 + def in_time_zone(zone = ::Time.zone) + ActiveSupport::TimeWithZone.new(utc? ? self : getutc, ::Time.__send__(:get_zone, zone)) + end +end |