diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG
index 6555560bdd..46251534ec 100644
--- a/actionpack/CHANGELOG
+++ b/actionpack/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* datetime_select defaults to Time.zone.now when config.time_zone is set [Geoff Buesing]
+
* Remove ActionController::Base#view_controller_internals flag. [Pratik]
* Add conditional options to caches_page method. [Paul Horsfall]
diff --git a/actionpack/lib/action_view/helpers/date_helper.rb b/actionpack/lib/action_view/helpers/date_helper.rb
index c71d59f373..23b7f3ba7c 100755
--- a/actionpack/lib/action_view/helpers/date_helper.rb
+++ b/actionpack/lib/action_view/helpers/date_helper.rb
@@ -675,7 +675,7 @@ module ActionView
def default_time_from_options(default)
case default
when nil
- Time.now
+ Time.current
when Date, Time
default
else
diff --git a/actionpack/test/template/date_helper_test.rb b/actionpack/test/template/date_helper_test.rb
index 9bd433e76b..fab41d801d 100755
--- a/actionpack/test/template/date_helper_test.rb
+++ b/actionpack/test/template/date_helper_test.rb
@@ -1219,6 +1219,42 @@ class DateHelperTest < ActionView::TestCase
assert_dom_equal expected, datetime_select("post", "updated_at")
end
+
+ uses_mocha 'TestDatetimeSelectDefaultsToTimeZoneNowWhenConfigTimeZoneIsSet' do
+ def test_datetime_select_defaults_to_time_zone_now_when_config_time_zone_is_set
+ time = stub(:year => 2004, :month => 6, :day => 15, :hour => 16, :min => 35, :sec => 0)
+ time_zone = mock()
+ time_zone.expects(:now).returns time
+ Time.zone_default = time_zone
+ @post = Post.new
+
+ expected = %{\n"
+
+ expected << %{\n"
+
+ expected << %{\n"
+
+ expected << " — "
+
+ expected << %{\n"
+ expected << " : "
+ expected << %{\n"
+
+ assert_dom_equal expected, datetime_select("post", "updated_at")
+ ensure
+ Time.zone_default = nil
+ end
+ end
def test_datetime_select_within_fields_for
@post = Post.new