gpt4 book ai didi

Ruby 日期参数超出范围

转载 作者:数据小太阳 更新时间:2023-10-29 07:12:32 25 4
gpt4 key购买 nike

我正在尝试使用在我的代码中是动态的 Time.local 来安排时间。在每个月的第一天,我传递的值是 Time.local(2009, 9, -1, 0)。在 PHP 中,这会将时间设置为上个月的最后一天。在 ruby​​ 中,我只是得到“ArgumentError:参数超出范围”。

是我用错了方法还是什么?谢谢。

最佳答案

您应该使用 DateTime 类而不是 Time。 (您可能需要先require 'date' 并安装activesupport gem。)

它比 Time 更通用,并且可以用 DateTime.civil(2009,9 - 1,-1,0) 做你想做的事。

为天传递 -1 会根据第二个参数给出该月最后一天的日期,因此您必须从当前月份中减去 1。

如果您使用的是 Rails,您可以执行 DateTime.civil(2009,9,1,0) - 1.day 并使用更易于理解的代码获得您想要的内容。

关于Ruby 日期参数超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1361360/

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