hb9*_*922 1 format ruby-on-rails date
在试图解析约会时,我已经绞尽脑汁待了好几个小时:
Date.today.to_s
=> "06/07/2011"
Date.today
=> Tue, 07 Jun 2011
Date.parse Date.today.to_s
=> Wed, 06 Jul 2011
Date::DATE_FORMATS[:default]
=> "%m/%d/%Y"
Run Code Online (Sandbox Code Playgroud)
to_s的默认格式与解析的默认格式不同?他们为什么要这样对我?
使用Rails 3.0.5和Ruby 1.9.2-p180
更新 所以感谢你的回答,我意识到DATE_FORMATS是一个rails事物,而Date.format正在使用ruby库(正确吗?).有没有办法用默认的DATE_FORMAT解析日期/时间而不使用strptime?
通常,Date.today.to_s会返回"2011-06-07",但由于您设置了默认日期格式,因此它使用的是"06/07/2011".
Date.parse很容易识别YYYY-MM-DD格式,但当它看到06/07/2011时,它认为真的是DD/MM/YYYY(不是MM/DD/YYYY,正如你所期待的那样 - 请记住,Date.parse对Rails一无所知'您设置的默认日期格式.默认日期格式仅适用于Rails的输出Date.to_s).
您可以强制它解析MM/DD/YYYY日期,如下所示:
Date.strptime(Date.today.to_s, "%m/%d/%Y")
# => Tue, 07 Jun 2011
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1100 次 |
| 最近记录: |