Rails/Ruby - 将字符串格式化为带有区域设置的日期



有没有办法在带有本地化的轨道或带有 Date.strptime 的普通红宝石中将字符串转换为日期但具有特定月份的区域设置?

例如,我有以下字符串 ->'5 abr 19'其中abr == april但西班牙语,我需要它将其转换为 Date 对象。

如果你的日期月份是英文的,你可以使用以下格式的Date.strptime:

date_str = '5 apr 19'
date = Date.strptime(date_str, '%d %b %y')

由于该方法只接受英语,我只翻译月份,只有几个月的变化:

date_str = '5 abr 19'
months = {'ene' => 'jan', 'abr' => 'apr', 'ago' => 'aug', 'dic' => 'dec'}    
date_str_aux = date_str.gsub(/ene|abr|ago|dic/, months) # only replace the months that should be translated
date = Date.strptime(date_str_aux, '%d %b %y')

最新更新