Rails:将字符串“04/30/2015”转换为有效的日期时间以存储在 postgres 中
Rails: Convert string "04/30/2015" to valid datetime for storing inside postgres
非常简单的问题,但找不到解决方案或弄清楚了。
如何将此字符串“04/30/2015”转换为有效的日期时间以存储在 postgres 数据库中?
我尝试了几种方法都没有用:
new_date = "#{ params[:interview][:expire_at]}00:00:00".to_datetime
使用这个方法:
Date.strptime(params[:interview][:expire_at], '%m/%d/%Y').to_datetime
应该这样做:
Date.strptime(params[:interview][:expire_at], '%m/%d/%Y')
在那个时候使用 .to_datetime
将是多余的,考虑到它应该完全符合您想要实现的目标。
"30-4-2015".to_datetime
以及 "2015/30/4".to_datetime
将被接受,因此它需要对您的字符串进行一些额外的格式化才能工作。
.to_datetime
要求在月份之前传递日期。无论年份是前置还是附加,或者您使用什么分隔符,请检查 examples in the apidoc。
但是,使用 Date
似乎更直接。
非常简单的问题,但找不到解决方案或弄清楚了。
如何将此字符串“04/30/2015”转换为有效的日期时间以存储在 postgres 数据库中?
我尝试了几种方法都没有用:
new_date = "#{ params[:interview][:expire_at]}00:00:00".to_datetime
使用这个方法:
Date.strptime(params[:interview][:expire_at], '%m/%d/%Y').to_datetime
应该这样做:
Date.strptime(params[:interview][:expire_at], '%m/%d/%Y')
在那个时候使用 .to_datetime
将是多余的,考虑到它应该完全符合您想要实现的目标。
"30-4-2015".to_datetime
以及 "2015/30/4".to_datetime
将被接受,因此它需要对您的字符串进行一些额外的格式化才能工作。
.to_datetime
要求在月份之前传递日期。无论年份是前置还是附加,或者您使用什么分隔符,请检查 examples in the apidoc。
但是,使用 Date
似乎更直接。