【发布时间】:2016-01-30 05:24:53
【问题描述】:
我正在尝试导入包含美国格式的生日和纪念日的 csv 文件,即 MonthDayYear。我在 SO 上找到了这个答案,但它对我不起作用。如果我不使用转换语言,则数据导入为 YearDayMonth,这是不正确的(并且还会跳过月份大于 12 的日期。代码如下:
class Member < ActiveRecord::Base
#this is for importing members from csv file
def self.assign_from_row(row)
member = Member.where(member_id: row[:member_id]).first_or_initialize
member.assign_attributes row.to_hash.slice(
:member_id, :last_name, :first_name, :email,
:anniversary => DateTime.strptime(row[4], "%m/$d/%Y").strftime("%Y/%m/%d"),
:birthday => DateTime.strptime(row[5], "%m/$d/%Y").strftime("%Y/%m/%d")
)
member
end
end
错误是“ArgumentError at /members/import”
同样,如果我删除
,代码就可以导入=> DateTime.strip ... /%d")
但是日期是错误的。感谢您的帮助。
【问题讨论】:
标签: ruby-on-rails date csv