采取以下两个例子:
Date.parse("02/20/2009")
Date.parse("02-20-2009")
在第一个例子中,假设顺序为MM DD YYYY,但在第二个例子中引发错误,因为(我假设)它试图将其解析为DD MM YYYY。
为什么?
答案 0 :(得分:10)
“02/20/2009”是 en_US 区域设置中的日期代表 。 “02-20-2009”不是,因此假定遵循标准。有两种流行的标准,除美国外最常用的是: DD-MM-YYYY 或ISO 8601, YYYY-MM-DD 。
答案 1 :(得分:0)
不同的区域设置在其日期中使用不同的分隔符,并且不同的部分订单(年,月,日)。 Ruby将日期字符串传递给许多函数,这些函数逐步尝试根据分隔符解析它。