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 似乎更直接。