我可以使用python locale module和posix本地化数据库解析本地化日期:
import locale, datetime
locale.setlocale(locale.LC_TIME, 'tr_TR.UTF-8')
print datetime.datetime.strptime("1 Haziran 2014", "%d %B %Y")
===
修改
此示例加载locale和datetime模块,解析本地化日期以创建python的datetime类的实例。我正在寻找可以使用posix数据库解析本地化日期的Ruby代码。
===
红宝石中是否有相同的含量?如果在C ++中有像python的语言环境模块或Boost.Locale这样的ruby库,你能给出示例代码吗?我尝试了gettext gem和locale gem(我设置了当前的区域设置并尝试了Time.strptime,但失败了。)
我不希望自定义gsub
或i18n配置文件解析。我要求使用posix数据库来解析日期的代码。
答案 0 :(得分:0)
Gemfile
慢性:
$ git clone git://github.com/mojombo/chronic.git
$ cd chronic && gem build chronic.gemspec
$ gem install chronic-*.gem
Chronic-l10n:
$ git clone git://github.com/luan/chronic-l10n.git
$ cd chronic-l10n && gem build chronic-l10n.gemspec
$ gem install chronic-l10n-*.gem
<强>用法:强>
require 'chronic'
require 'chronic-l10n'
Time.now #=> Sun Aug 27 23:18:25 PDT 2006
Chronic.locale = :'pt-BR'
Chronic.parse('amanhã')
#=> Mon Aug 28 12:00:00 PDT 2006
Chronic.parse('segunda', :context => :past)
#=> Mon Aug 21 12:00:00 PDT 2006
Chronic.parse('essa terça 5:00')
#=> Tue Aug 29 17:00:00 PDT 2006
Chronic.parse('essa terça 5:00', :ambiguous_time_range => :none)
#=> Tue Aug 29 05:00:00 PDT 2006
Chronic.parse('27 de maio', :now => Time.local(2000, 1, 1))
#=> Sat May 27 12:00:00 PDT 2000
Chronic.parse('27 de maio', :guess => false)
#=> Sun May 27 00:00:00 PDT 2007..Mon May 28 00:00:00 PDT 2007
Chronic.parse('6/4/2012', :endian_precedence => :little)
#=> Fri Apr 06 00:00:00 PDT 2012
答案 1 :(得分:0)
目前似乎没有ruby gem或代码可以加载posix数据库并使用strptime样式标志解析日期。 (不接受复制粘贴答案)