teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

解説を追加

2016/12/04 13:38

投稿

raccy
raccy

スコア21784

answer CHANGED
@@ -2,4 +2,9 @@
2
2
  now = Time.now.localtime('+09:00')
3
3
  ```
4
4
 
5
- 参考: [instance method Time#localtime (Ruby 2.3.0)](https://docs.ruby-lang.org/ja/latest/method/Time/i/localtime.html)
5
+ 参考: [instance method Time#localtime (Ruby 2.3.0)](https://docs.ruby-lang.org/ja/latest/method/Time/i/localtime.html)
6
+
7
+ ---
8
+ 【解説】
9
+
10
+ Rubyの`Time`オブジェクトはゾーン情報を持っています。`Time.now`は動作環境のゾーンにおける現在日時になります。通常、日本国内にあるサーバや端末は日本標準時(+09:00)ですが、日本国外、特にAWS等と言ったクラウドの場合はそのサーバーがある地域でのゾーンやUTC(協定世界時)になります。`Time#localtime`は任意の指定したゾーンへ変更した日時を取得するメソッドで、これによってどんな場所にサーバがあったとしても(サーバの時刻がずれていない限り)日本標準時にすることができます。