lib/spiderfw/i18n/cldr.rb in spiderfw-0.5.13 vs lib/spiderfw/i18n/cldr.rb in spiderfw-0.5.14

- old
+ new

@@ -77,10 +77,13 @@ format_string = dt_f.sub('{1}', date_format).sub('{0}', time_format) klass = DateTime elsif (options[:return] == :date) format_string = date_format klass = Date + elsif (options[:return] == :time) + format_string = time_format + klass = Time end replacements = [ [/y{1,4}/, '%Y'], # year don't use two digits year [/y{1,2}/, '%y'], [/M{1,5}/, '%m'], [/L{1,5}/, '%m'], @@ -90,10 +93,14 @@ [/h{1,2}/, '%I'], [/H{1,2}/, '%H'], [/a/, '%p'], #hour [/m{1,2}/, '%M'], [/s{1,2}/, '%S'], # seconds [/z{1,4}/, '%Z'], [/Z{1,4}/, '%Z'], [/V{1,4}/, '%Z'] # time zone ] format_string = mgsub(format_string, replacements) - klass.strptime(string, format_string) + if options[:return] == :time + DateTime.strptime("01-01-2000T#{string}#{Time.now.strftime('%Z')}", "%d-%m-%YT#{format_string}%Z").to_local_time + else + klass.strptime(string, format_string) + end end def prepare_format_string(obj, string) \ No newline at end of file