Rails3/タイムゾーン
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
&tag(Rails3/タイムゾーン);
*目次 [#qbb98028]
#contents
*参考情報 [#ldf2611c]
-[[Rails3]]
-[[Ruby on RailsでタイムゾーンにJSTを使用する方法 - 戯言...
-[[Future Journal 〜未来志向で行こう〜:http://twodollarz....
-[[Rails3系のtimezoneの扱いに関するメモ - Qiita [キータ]:...
-[[Rails3 + ActiveRecord で正しくtimezoneを設定する - Fut...
-[[Rails と時刻 - @kyanny's blog:http://blog.kyanny.me/en...
*JSTで使用する [#g1a754ed]
-DBにはUTCで保存するのが善き行いようのようだが、明らかに...
-config/application.rbを編集。
#pre{{
config.time_zone = 'Tokyo'
config.active_record.default_timezone = :local
}}
*UTCで保存する [#g4f33b06]
-[[Railsでの時間管理はUTCで | tamo's blog:http://tamosblo...
time.in_time_zone('Tokyo').strftime("%Y/%m/%d %H:%M:%S")
*デモ [#ze4560d9]
-config/applications.rbで、config.time_zoneとconfig.activ...
**デモテーブルの作成 [#j406ccdb]
-date1, date2, timestamp1を持つDemoItemsテーブルを生成
$ bundle exec rails generate model DemoItems date1:datet...
-内容確認。created_at / updated_at などはmysqlのdatetime...
#pre{{
CREATE TABLE `demo_items` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`date1` datetime DEFAULT NULL,
`date2` datetime DEFAULT NULL,
`timestamp1` datetime DEFAULT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB
}}
**config.active_record.default_timezone / config.time_zon...
-保存時にUTCに変換される。
#pre{{
irb(main):002:0> item = DemoItem.new
=> #<DemoItem id: nil, date1: nil, date2: nil, timestamp1...
irb(main):003:0> item.date1 = Time.now
=> 2013-08-30 17:43:48 +0900
irb(main):005:0> item.save!
(0.2ms) BEGIN
SQL (0.4ms) INSERT INTO `demo_items` (`created_at`, `d...
(0.6ms) COMMIT
}}
-Time.nowした値も、date1に代入するときにActiveSupport::Ti...
#pre{{
irb(main):006:0> item.created_at
=> Fri, 30 Aug 2013 08:44:03 UTC +00:00
irb(main):007:0> item.date1
=> Fri, 30 Aug 2013 08:43:48 UTC +00:00
}}
**config.active_record.default_timezone(デフォルト) / con...
-保存される値はUTCだが、表示はJSTになる(参照先リンクとこ...
#pre{{
irb(main):004:0> item.save!
(0.1ms) BEGIN
SQL (0.3ms) INSERT INTO `demo_items` (`created_at`, `d...
(0.3ms) COMMIT
}}
-表示。
#pre{{
irb(main):005:0> item.date1
=> Fri, 30 Aug 2013 17:57:18 JST +09:00
irb(main):006:0> item.created_at
=> Fri, 30 Aug 2013 17:57:30 JST +09:00
}}
**config.active_record.default_timezone(:local) / config....
-全部JSTで統一される。
#pre{{
irb(main):001:0> item = DemoItem.new
=> #<DemoItem id: nil, date1: nil, date2: nil, timestamp1...
irb(main):002:0> item.date1 = Time.now
=> 2013-08-30 18:01:24 +0900
irb(main):003:0> item.save!
(0.1ms) BEGIN
SQL (0.3ms) INSERT INTO `demo_items` (`created_at`, `d...
(0.3ms) COMMIT
=> true
irb(main):004:0> item.date1
=> Fri, 30 Aug 2013 18:01:24 JST +09:00
irb(main):005:0> item.created_at
=> Fri, 30 Aug 2013 18:01:30 JST +09:00
}}
終了行:
&tag(Rails3/タイムゾーン);
*目次 [#qbb98028]
#contents
*参考情報 [#ldf2611c]
-[[Rails3]]
-[[Ruby on RailsでタイムゾーンにJSTを使用する方法 - 戯言...
-[[Future Journal 〜未来志向で行こう〜:http://twodollarz....
-[[Rails3系のtimezoneの扱いに関するメモ - Qiita [キータ]:...
-[[Rails3 + ActiveRecord で正しくtimezoneを設定する - Fut...
-[[Rails と時刻 - @kyanny's blog:http://blog.kyanny.me/en...
*JSTで使用する [#g1a754ed]
-DBにはUTCで保存するのが善き行いようのようだが、明らかに...
-config/application.rbを編集。
#pre{{
config.time_zone = 'Tokyo'
config.active_record.default_timezone = :local
}}
*UTCで保存する [#g4f33b06]
-[[Railsでの時間管理はUTCで | tamo's blog:http://tamosblo...
time.in_time_zone('Tokyo').strftime("%Y/%m/%d %H:%M:%S")
*デモ [#ze4560d9]
-config/applications.rbで、config.time_zoneとconfig.activ...
**デモテーブルの作成 [#j406ccdb]
-date1, date2, timestamp1を持つDemoItemsテーブルを生成
$ bundle exec rails generate model DemoItems date1:datet...
-内容確認。created_at / updated_at などはmysqlのdatetime...
#pre{{
CREATE TABLE `demo_items` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`date1` datetime DEFAULT NULL,
`date2` datetime DEFAULT NULL,
`timestamp1` datetime DEFAULT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB
}}
**config.active_record.default_timezone / config.time_zon...
-保存時にUTCに変換される。
#pre{{
irb(main):002:0> item = DemoItem.new
=> #<DemoItem id: nil, date1: nil, date2: nil, timestamp1...
irb(main):003:0> item.date1 = Time.now
=> 2013-08-30 17:43:48 +0900
irb(main):005:0> item.save!
(0.2ms) BEGIN
SQL (0.4ms) INSERT INTO `demo_items` (`created_at`, `d...
(0.6ms) COMMIT
}}
-Time.nowした値も、date1に代入するときにActiveSupport::Ti...
#pre{{
irb(main):006:0> item.created_at
=> Fri, 30 Aug 2013 08:44:03 UTC +00:00
irb(main):007:0> item.date1
=> Fri, 30 Aug 2013 08:43:48 UTC +00:00
}}
**config.active_record.default_timezone(デフォルト) / con...
-保存される値はUTCだが、表示はJSTになる(参照先リンクとこ...
#pre{{
irb(main):004:0> item.save!
(0.1ms) BEGIN
SQL (0.3ms) INSERT INTO `demo_items` (`created_at`, `d...
(0.3ms) COMMIT
}}
-表示。
#pre{{
irb(main):005:0> item.date1
=> Fri, 30 Aug 2013 17:57:18 JST +09:00
irb(main):006:0> item.created_at
=> Fri, 30 Aug 2013 17:57:30 JST +09:00
}}
**config.active_record.default_timezone(:local) / config....
-全部JSTで統一される。
#pre{{
irb(main):001:0> item = DemoItem.new
=> #<DemoItem id: nil, date1: nil, date2: nil, timestamp1...
irb(main):002:0> item.date1 = Time.now
=> 2013-08-30 18:01:24 +0900
irb(main):003:0> item.save!
(0.1ms) BEGIN
SQL (0.3ms) INSERT INTO `demo_items` (`created_at`, `d...
(0.3ms) COMMIT
=> true
irb(main):004:0> item.date1
=> Fri, 30 Aug 2013 18:01:24 JST +09:00
irb(main):005:0> item.created_at
=> Fri, 30 Aug 2013 18:01:30 JST +09:00
}}
ページ名: