【发布时间】:2012-04-11 12:18:48
【问题描述】:
这是我的 IRB 会话
1.9.2p290 :020 > Date.strptime("31-2-2010", "%d-%m-%Y")
ArgumentError: invalid date
我已经给出了正确的值,但它返回了ArgumentError。我在这里遗漏了什么吗?
【问题讨论】:
这是我的 IRB 会话
1.9.2p290 :020 > Date.strptime("31-2-2010", "%d-%m-%Y")
ArgumentError: invalid date
我已经给出了正确的值,但它返回了ArgumentError。我在这里遗漏了什么吗?
【问题讨论】:
是的,你错过了一些东西:
无论年份如何,2 月都没有 31 天。
你给它一个无效的日期。
【讨论】:
请注意,Time.strptime("31-2-2010", "%d-%m-%Y") 会给您2010-03-03 00:00:00 +0000。
我使用Time.strptime("31-2-2010", "%d-%m-%Y").to_date 来避免无效日期错误。
【讨论】: