Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

DateTime#to_time gives hour/minute/second resolution. Closes #5747.

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4718 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
commit 52c9ad4c9828504ff7859a9dc7ee33d3bdd532c4 1 parent c3cdd3b
@jeremy jeremy authored
View
2  activesupport/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* DateTime#to_time gives hour/minute/second resolution. #5747 [jon.evans@pobox.com]
+
* attr_internal to support namespacing and deprecation. Like attr_* except backed by internally-named instance variable. Set attr_internal_naming_format to change the format from the default '@_%s'. [Jeremy Kemper]
# def foo() @foo__rofl end
# def foo=(v) @foo__rofl = v end
View
12 activesupport/lib/active_support/core_ext/date/conversions.rb
@@ -7,14 +7,14 @@ module Conversions
:short => "%e %b",
:long => "%B %e, %Y"
}
-
+
def self.included(klass) #:nodoc:
klass.send(:alias_method, :to_default_s, :to_s)
klass.send(:alias_method, :to_s, :to_formatted_s)
end
-
+
def to_formatted_s(format = :default)
- DATE_FORMATS[format] ? strftime(DATE_FORMATS[format]).strip : to_default_s
+ DATE_FORMATS[format] ? strftime(DATE_FORMATS[format]).strip : to_default_s
end
# To be able to keep Dates and Times interchangeable on conversions
@@ -23,7 +23,11 @@ def to_date
end
def to_time(form = :local)
- ::Time.send(form, year, month, day)
+ if respond_to?(:hour)
+ ::Time.send(form, year, month, day, hour, min, sec)
+ else
+ ::Time.send(form, year, month, day)
+ end
end
def xmlschema
View
4 activesupport/test/core_ext/date_ext_test.rb
@@ -10,6 +10,10 @@ def test_to_time
assert_equal Time.local(2005, 2, 21), Date.new(2005, 2, 21).to_time
end
+ def test_to_time_on_datetime
+ assert_equal Time.local(2005, 2, 21, 10, 11, 12), DateTime.new(2005, 2, 21, 10, 11, 12).to_time
+ end
+
def test_to_date
assert_equal Date.new(2005, 2, 21), Date.new(2005, 2, 21).to_date
end
Please sign in to comment.
Something went wrong with that request. Please try again.