Ruby 为什么DateParse在这里使用欧洲标准的日期格式
以下内容被解读为2013年2月12日,而不是2013年12月2日。。这有什么原因吗?我必须在某个地方更改一些系统默认值吗?这是使用Ruby 2.0.0Ruby 为什么DateParse在这里使用欧洲标准的日期格式,ruby,Ruby,以下内容被解读为2013年2月12日,而不是2013年12月2日。。这有什么原因吗?我必须在某个地方更改一些系统默认值吗?这是使用Ruby 2.0.0 2.0.0-p247-turbo :003 > dt=DateTime.parse("12/2/2013 1:00:00 PM") => #<DateTime: 2013-02-12T13:00:00+00:00 ((2456336j,46800s,0n),+0s,2299161j)> 2.0.0-p247-turbo
2.0.0-p247-turbo :003 > dt=DateTime.parse("12/2/2013 1:00:00 PM")
=> #<DateTime: 2013-02-12T13:00:00+00:00 ((2456336j,46800s,0n),+0s,2299161j)>
2.0.0-p247-turbo :004 > dt.day
=> 12
2.0.0-p247-turbo :005 > dt.month
=> 2
2.0.0-p247-turbo :006 > dt.year
=> 2013
2.0.0-p247-turbo:003>dt=DateTime.parse(“2013年12月2日下午1:00”)
=> #
2.0.0-p247-turbo:004>dt.day
=> 12
2.0.0-p247-turbo:005>dt.month
=> 2
2.0.0-p247-turbo:006>dt.年
=> 2013
怎么样
我不知道这种行为是否依赖于系统设置,或者Ruby是否总是这样。无论如何,我希望在代码中有一个明显的要求(日期应该以这种方式解析)
另请参见:(我从哪里获得格式字符串)如何
我不知道这种行为是否依赖于系统设置,或者Ruby是否总是这样。无论如何,我希望在代码中有一个明显的要求(日期应该以这种方式解析)
另请参见:(我从中获取格式字符串)将格式参数传递给方法。您可以查找它,从客户端、服务器获取它,甚至硬编码它,但不依赖于系统区域性来解析日期。这是一个bug fest。将format参数传递给该方法。您可以查找它,从客户端、服务器获取它,甚至硬编码它,但不依赖于系统区域性来解析日期。那是一场虫子盛会。
DateTime.strptime("12/2/2013 1:00:00 PM", "%m/%d/%Y %H:%M:%S %p")