From 5eed61f44169de9bb7bf27138611b75dda476222 Mon Sep 17 00:00:00 2001 From: zhengjia Date: Mon, 5 Dec 2016 23:51:14 -0600 Subject: [PATCH] Fix regex match for double digit month MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Double digit month should be matched first 11月should be converted to Nov Without the change it would be converted to 1Jan because 1月is matched first --- lib/rails_admin/support/datetime.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/rails_admin/support/datetime.rb b/lib/rails_admin/support/datetime.rb index e175c1b66c..536435cfbe 100644 --- a/lib/rails_admin/support/datetime.rb +++ b/lib/rails_admin/support/datetime.rb @@ -39,11 +39,11 @@ def delocalize(date_string, format) english = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] abbr_day_names.each_with_index { |d, i| date_string = date_string.gsub(/#{d}/, english[i]) } when '%B' - english = [nil, "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"][1..-1] - month_names.each_with_index { |m, i| date_string = date_string.gsub(/#{m}/, english[i]) } + english = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"].reverse + month_names.reverse.each_with_index { |m, i| date_string = date_string.gsub(/#{m}/, english[i]) } when '%b' - english = [nil, "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"][1..-1] - abbr_month_names.each_with_index { |m, i| date_string = date_string.gsub(/#{m}/, english[i]) } + english = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"].reverse + abbr_month_names.reverse.each_with_index { |m, i| date_string = date_string.gsub(/#{m}/, english[i]) } when '%p' date_string = date_string.gsub(/#{::I18n.t('date.time.am', default: "am")}/, 'am') date_string = date_string.gsub(/#{::I18n.t('date.time.pm', default: "pm")}/, 'pm')