gpt4 book ai didi

ruby-on-rails - 将文本字符串转换为任何有效的 Ruby 格式时间

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

我有以下日期字符串“1 月 31 日星期一”。

有什么方法可以将其转换为有效的 Ruby 格式时间,以便我可以将其转换为其他格式?


如果它使用不同的语言,例如西类牙语“Lunes 31 Enero”,我该如何解析它?

最佳答案

How could I parse it in the case that it was in a different language, i.e. Spanish "Lunes 31 Enero"?

通常我会说使用 Chronic gem作为灵活日期时间解析的最佳选择。折腾不同的语言使它成为一个不同的问题,因为图书馆是面向英语的。

这意味着回到 Date.parse。进入 IRB 我有一个惊喜:

ruby-1.9.2-p136 :001 > require 'date'
=> true
ruby-1.9.2-p136 :002 > puts Date.parse('Lunes 31 Enero')
2011-01-31

所以,Date.parse 已经是西类牙语了。

如果不是,则可以覆盖 Date 的月和日常量以助其一臂之力:

require 'date'

Date::MONTHNAMES = [nil] + %w( Enero Febrero Marzo Abril Mayo Junio Julio Agosto Septiembre Octubre Noviembre Diciembre )
Date::DAYNAMES = %w( Lunes Martes Miércoles Jueves Viernes Sábado Domingo )
Date::ABBR_MONTHNAMES = [nil] + %w( Ene Feb Mar Abr May Jun Jul Ago Sep Oct Nov Dic )
Date::ABBR_DAYNAMES = %w( Lun Mar Mié Jue Vie Sáb Dom )

我还没有测试过它,因为它已经可以正常工作而不会弄乱任何东西,但是对于其他不受支持的语言,改变值并看看会发生什么可能是一个值得的实验。

关于ruby-on-rails - 将文本字符串转换为任何有效的 Ruby 格式时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4846633/

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