Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 为什么DateParse在这里使用欧洲标准的日期格式_Ruby - Fatal编程技术网

Ruby 为什么DateParse在这里使用欧洲标准的日期格式

Ruby 为什么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

以下内容被解读为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 :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")