为什么日期解析依赖于分隔符?

时间:2009-02-23 10:06:53

标签: ruby date

采取以下两个例子:

Date.parse("02/20/2009")
Date.parse("02-20-2009")

在第一个例子中,假设顺序为MM DD YYYY,但在第二个例子中引发错误,因为(我假设)它试图将其解析为DD MM YYYY。

为什么?

2 个答案:

答案 0 :(得分:10)

“02/20/2009”是 en_US 区域设置中的日期代表 。 “02-20-2009”不是,因此假定遵循标准。有两种流行的标准,除美国外最常用的是: DD-MM-YYYY 或ISO 8601, YYYY-MM-DD

http://en.wikipedia.org/wiki/File:Date.png

答案 1 :(得分:0)

不同的区域设置在其日期中使用不同的分隔符,并且不同的部分订单(年,月,日)。 Ruby将日期字符串传递给许多函数,这些函数逐步尝试根据分隔符解析它。