我從DB以下列格式的日期 - 「1973年6月15日」 當我嘗試創建一個Date對象紅寶石錯誤 - 無效的日期
dob = DateTime.strptime(user.date_of_birth.to_s, "%Y-%m-%d")
我總是
invalid date
錯誤。輸出日期通常顯示正確的日期。如何在這種情況下正確解析日期?
我從DB以下列格式的日期 - 「1973年6月15日」 當我嘗試創建一個Date對象紅寶石錯誤 - 無效的日期
dob = DateTime.strptime(user.date_of_birth.to_s, "%Y-%m-%d")
我總是
invalid date
錯誤。輸出日期通常顯示正確的日期。如何在這種情況下正確解析日期?
假設user.date_of_birth是一個DateTime(或日期)的對象,你應該能夠公正執行以下操作:
dob = user.date_of_birth.strftime("%Y-%m-%d")
這給了我一個未定義的方法'strftime'爲零:NilClass – Deez
@Deez所以...日期是'nil'。使用'try'或'andand'。 –
就像@DaveNewton說的那樣,那麼你的約會是零。 'user.try(:date_of_birth)'會防止錯誤,但你需要辨別爲什麼這個方法返回'nil'。 –
是什麼DATE_OF_BIRTH列的數據類型? –
將'user.date_of_birth.to_s'的輸出添加到日誌並在此處提供。 –
適合我工作;數據類型是什麼?什麼是'user.date_of_birth.to_s'返回? –