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