日付フィールドがあるテーブルがあります。コンソールを使って日付を保存するには?私は試しました event = Event.create(name:"Concert", date:08/20/2016, location:'Portland', state:'OR')
しかし、私は無効な8進数のエラーが表示されます。コンソールを使用して日付をレールに保存する方法
2
A
答えて
2
あなたはDate.parse
メソッドで文字列から取得することができ、実際のDateオブジェクトに渡ししたいと思う:私は別の形式にするためにあなたの日付を書き換えてきた
event = Event.create(name: "Concert", date: Date.parse('2016-08-20'), location: 'Portland', state: 'OR')
注意。 MM/DD/YYYY
の形式はで、ロケール間で移植可能なではないので、YYYY-MM-DD
(ISO 8601形式)を使用することを強くおすすめします。
1
には、例えば、これを試してみてください:
date = Date.parse('3rd Feb 2001') ####=> #<Date: 2001-02-03 ...>
は参考:正しい形式の文字列を使用してDate class
2
は、トリックを行います。たとえば:
>> foo = Foo.create date: "20/8/2016"
(0.0ms) begin transaction
SQL (1.0ms) INSERT INTO "foos" ("date") VALUES (?) [["date", Sat, 20 Aug 2016]]
(0.9ms) commit transaction
#<Foo id: 1, date: "2016-08-20">
>> foo.date
Sat, 20 Aug 2016
activesupportのは、日付、時刻、および日時の文字列からの変換のためのStringクラスのコアの拡張機能を提供します。これはおそらく大丈夫で便利なことですが、Railsコンソールでのテスト中にこれを利用することができます。
Date.parse
で明示的に解析するのではなく、アプリケーション自体でこの拡張機能を利用することは、あなたとあなたのチームの責任です。 sourceから
:
"1-1-2012".to_date # => Sun, 01 Jan 2012
"01/01/2012".to_date # => Sun, 01 Jan 2012
"2012-12-13".to_date # => Thu, 13 Dec 2012
"12/13/2012".to_date # => ArgumentError: invalid date
ただ、徹底すべき、String#to_time
"13-12-2012".to_time # => 2012-12-13 00:00:00 +0100
"06:12".to_time # => 2012-12-13 06:12:00 +0100
"2012-12-13 06:12".to_time # => 2012-12-13 06:12:00 +0100
"2012-12-13T06:12".to_time # => 2012-12-13 06:12:00 +0100
"2012-12-13T06:12".to_time(:utc) # => 2012-12-13 06:12:00 UTC
"12/13/2012".to_time # => ArgumentError: argument out of range
そしてString#to_datetime
のための例:
"1-1-2012".to_datetime # => Sun, 01 Jan 2012 00:00:00 +0000
"01/01/2012 23:59:59".to_datetime # => Sun, 01 Jan 2012 23:59:59 +0000
"2012-12-13 12:50".to_datetime # => Thu, 13 Dec 2012 12:50:00 +0000
"12/13/2012".to_datetime # => ArgumentError: invalid date
関連する問題
- 1. 日付文字列を変換してレール付きデータベースに保存するときに使用するフォーマット
- 2. htmlフォームを使用してmysqlに日付を保存する
- 3. VB.NETを使用してAsp.Netの日付を検証/保存する方法は?
- 4. mongodbアグリゲーションを使用してUNIXの日付スタンプを保存する方法
- 5. javaを使用してコンソール出力をテキストファイルに保存する方法は?
- 6. Excel VBAを使用して日付を保存する
- 7. 今日の日付を生成してpostgreSQLデータベースに保存する方法
- 8. VBScriptを使用して今日の日付のExcelファイルを保存する
- 9. 場所をブラウズして、クッキーにレールで保存する方法
- 10. Codeigniterを使用してMySQLに日付を格納する。 0000:00:00として保存された日付
- 11. ajaxを使用して日付でレールを検索する
- 12. Rails:DBに保存する日付を指定する方法
- 13. 現在の日付でデータベースに日付を保存する方法は?
- 14. 日付を保存する
- 15. MySql:日付範囲を保存して1日を保存する
- 16. レールでmaterializecssを使用して日付でフィルタリングする
- 17. javafxを使用してSQLiteデータベースに日付を保存する間違った
- 18. NodeJSがMomentを使用してMongoDBに日付を保存する
- 19. 日付を文字として保存した日付を
- 20. Swift:特定の日付にデータを保存する方法
- 21. リストビューのアイテムに日付を保存する方法は?
- 22. elasticsearchにJava 8(JSR-310)の日付を保存する方法
- 23. 日付から時刻を取り除き、Pythonを使用してPSQLに保存する方法は?
- 24. vbaを使用して日付の既存のセル値に日付を追加する方法
- 25. SQL日付を16進値として保存して、日付形式に戻す方法
- 26. 保存日付
- 27. javascript/Jqueryを使用して既存の日付をフォーマットする方法
- 28. MongoDBに日付を保存する
- 29. MySQLに日付を保存する
- 30. Firebaseデータベースに日付を保存する
あなたの日付は文字列ではないので、それは次のように解析されています数。 0から始まる数字は8進数として解釈され、8はそこで有効な数字ではありません。 –