我有"1/4/2013 3:39:41 PM"
格式的日期时间字符串,我正在使用以下代码DateTime.strptime(s, '%d/%m/%Y %H:%M:%S %p')
并且它有效。
但问题是当时间是在AM时,输入字符串没有' AM'当下。因此,当引用AM时,字符串就像"1/4/2013 3:39:41"
。在这些情况下,我的解析日期代码会抛出错误
ArgumentError: invalid date
from (irb):45:in `strptime'
如何在模板中设置%p
可选项?
感谢
答案 0 :(得分:0)
不是最佳解决方案,但您可以继续:
if s.split(' ').size == 3
format = '%d/%m/%Y %H:%M:%S %p'
// you can implement further variations here...
else
format = '%d/%m/%Y %H:%M:%S %p'
DateTime.strptime(s, format)