gpt4 book ai didi

ruby-on-rails - 在以 ruby​​ 或 rails 保存到数据库之前解析本地化的 DateTime

转载 作者:太空宇宙 更新时间:2023-11-03 16:06:02 25 4
gpt4 key购买 nike

是否可以使用 native 将本地化的 DateTime 字符串解析回正确的 DateTimeRuby 还是 Rails 方法?

我在 i18n 中查找了我期望的位置,因为它包含格式和语言环境,但我找不到它。

我有一个字符串:"za 18 mei 18:05" 是荷兰语 (:nl),在英语中是 "Sa 18 May 6:15PM"。日期格式为:"%a %d %b %H:%M"。我希望字符串解析回 2012-05-08T18:12:00+01:00

是否有可能从中获取日期时间?我的荷兰语翻译有一个很大的语言环境文件,我无法想象我不能用它来将格式解析回 db 格式

最佳答案

您需要稍微修改一下日期字符串,因为它们不是英文的。

试试这个:

nl = "vri 18 mei 18:05"
dt = DateTime.strptime(nl.gsub(/vri|mei/, 'vri' => 'Fri', 'mei' => 'May'), "%a %d %b %H:%S")

这是一个示例方法,说明如何在将字符串发送到 strptime 之前将“za”替换为“Sat”,将“mei”替换为“May”。您可能需要想出一种更优雅的方法来替换您的原始字符串(例如编写一个帮助程序)。

使用delocalize gem

或者,也许您可​​以尝试 gem delocalize:

I18n.locale = :nl
Delocalize::LocalizedDateTimeParser.parse("Vri 18 mei 18:02", DateTime)

确保您的 config/locales 文件夹中有正确的“nl.yml”。您可以从这里获取:https://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/nl.yml

关于ruby-on-rails - 在以 ruby​​ 或 rails 保存到数据库之前解析本地化的 DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13775523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com