gpt4 book ai didi

Ruby 2.3.1 Date.parse 在分隔符为空格字符时返回另一个日期

转载 作者:数据小太阳 更新时间:2023-10-29 08:02:51 26 4
gpt4 key购买 nike

今天刚用我的 ruby​​ 控制台得到这个:

$ irb
2.3.1 :001 > require 'date'
=> true
2.3.1 :002 > Date.parse '30/08/2016'
=> #<Date: 2016-08-30 ((2457631j,0s,0n),+0s,2299161j)>
2.3.1 :003 > Date.parse '30 08 2016'
=> #<Date: 2016-09-30 ((2457662j,0s,0n),+0s,2299161j)>
2.3.1 :004 >

用空格分隔(日期在工作电子表格上的格式是这样的......不要问为什么..呵呵),它给了我一个月后的日期!!

我错过了什么?或者我不应该期待一个正确的日期,因为我传递的格式无效?

最佳答案

改用Date.strptime,它可以用一个模板来解析输入

Date.strptime('30 08 2016', '%d %m %Y')
=> #<Date: 2016-08-30 ((2457631j,0s,0n),+0s,2299161j)>

只是重申我的评论,看起来 Date.parse 忽略了第一个空格后的输入,只使用当前的月份和年份。

Date.parse '01 01 2015'
=> #<Date: 2016-10-01 ((2457663j,0s,0n),+0s,2299161j)>

有趣的是,如果您拼写月份,足够的空格就可以了。

 Date.parse '01 jan 2015' 
=> #<Date: 2015-01-01 ((2457024j,0s,0n),+0s,2299161j)>

关于Ruby 2.3.1 Date.parse 在分隔符为空格字符时返回另一个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39800972/

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