0

我有一个字符串"2011-05-19 10:30:14",我试图将其显示为日期。我尝试了以下方法,但是当我尝试时它返回诸如“无效日期”和“参数超出范围”之类的错误:

"2011-05-19 10:30:14".to_date

和:

"2011-05-19 10:30:14".to_time

我还尝试使用 DateTime 类进行解析:

DateTime.parse("5-29-2013 10:17:04").

我如何从中获取日期?

4

3 回答 3

3

由于OP的评论,我将其发布为我的答案...

http://www.ruby-doc.org/stdlib-1.9.3/libdoc/date/rdoc/DateTime.html#method-c-parse

编辑

从上面提供的链接中提取的示例:

DateTime.parse('2001-02-03T04:05:06+07:00')
                      #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
DateTime.parse('20010203T040506+0700')
                      #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
DateTime.parse('3rd Feb 2001 04:05:06 PM')
                      #=> #<DateTime: 2001-02-03T16:05:06+00:00 ...>
于 2013-10-31T18:56:48.017 回答
2
DateTime.strptime('2011-05-19 10:30:14', '%Y-%m-%d %H:%M:%S')

这将为您提供一个 DateTime 对象并返回:

 Thu, 19 May 2011 10:30:14 +0000

这将为您提供一个 DateTime 对象:

DateTime.strptime('2011-05-19 10:30:14', '%Y-%m-%d %H:%M:%S').to_date

并只返回日期:

Thu, 19 May 2011
于 2013-10-31T18:49:48.053 回答
0

尝试DateTime.strptime('2011-05-19 10:30:14', '%Y-%m-%d %H:%M:%S')

于 2013-10-31T18:48:45.070 回答