データベースから日付を取得したい場合は、UNIXのタイムスタンプとして保存してYYYY/MM/DD形式に変換します。DateTime.strptimeに変数を渡すと、TypeErrorが発生します。Fixnumを暗黙的に文字列に変換しません。
DateTime.strptime('1462406400','%s')
=> Thu, 05 May 2016 00:00:00 +0000
しかし、私はUnixタイムスタンプが含まれている変数を渡すとき、私はビューでは、エラーメッセージ
を受ける
<div>Your first invoice will be due <%= DateTime.strptime(sub.start_date,'%s') %></div>
TypeError: no implicit conversion of Fixnum into String
DateTime.strptime
にsub.start_date
を渡すための正しい方法は何ですか?
どのデータ型が 'sub.start_date'ですか?それは既に 'DateTime'ですか? 'sub.start_date.to_s'を' DateTime.strptime'なしで使用できますか?おそらく、[Date#strftime](http://ruby-doc.org/stdlib-1.9.3/libdoc/date/rdoc/Date.html#method-i-strftime)メソッドも参照してください。 –
'sub.start_date'は' Integer'値としてデータベースに保存されます。それは '1461801600'のような値を返します –
もちろん、エラーは私たちにそれを教えてくれます。したがって、それを文字列に変換します: 'sub.start_date.to_s' –