0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

タイムゾーンの設定について

Posted at

環境

Ubuntu20.4

内容

タイムゾーンを設定する場合、日本であれば、'Asia/Tokyo'の値をセットします。仮に、シンガポールであれば、'Asia/Singapore'の値をセットすることになります。この値はどこを調べればわかるかと言えば、次のコマンドで調べることができます。

$tzselect

大陸の一覧が表示されるため、ウィザードに従って番号をうって進めて行くと、設定したい国の値を調べることができます。

日本を調べると、次のように表示されます。

You can make this change permanent for yourself by appending the line
        TZ='Asia/Tokyo'; export TZ
to the file '.profile' in your home directory; then log out and log in again.

Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
Asia/Tokyo

メッセージにある通り、日本のタイムゾーン(つまりJST)を設定するには、TZという環境変数に、'Asia/Tokyo'の値を設定することになります。

ただし、コマンドラインから次のコマンドをうっても、次回OSを起動したときは、この値はクリアされてしまうため、OS起動時に、毎回自動でコマンドが実行されるよう、.profileに記述します。

TZ='Asia/Tokyo'; export TZ

.profileに記述することが推奨されているようですが、.bashrcに記述しても問題ありません。.profileの中身を見ると分かりますが、.profileの中から、.bashrcが実行されています。

タイムゾーンの値は環境変数で設定してもいいが、次のコマンドで設定することもできます。基本的にどちらかになります。

$timedatectl set-timezone Asia/Tokyo

設定したタイムゾーンの内容を確認するコマンドが次です。Asia/Tokyoで設定した場合、次のコマンドをうつと、 Time zone: Asia/Tokyo (JST, +0900) と表示されます。

$timedatectl

環境変数で設定する場合と、timedatectlコマンドで設定する場合とでは、どっちで設定する方がいいのかと言えば、正直、お好きなやり方でどうぞということになるかと思います。言わずもがなではありますが、環境変数で設定した場合、ログインしたユーザーにしか反映されないことにはなります。

RubyでTimeクラスや、Dataクラスを使ってシステム日付を取得した場合、タイムゾーンで設定されている日付(時間)が取得されることになります。

環境変数とtimedatectlの両方に値がセットされていれば、どちらの値が優先されるのかといえば、環境変数の値の方が優先されることになります。

環境変数とtimedatectl共にタイムゾーンの設定がされていない場合は、UTC(世界標準時)が取得されます。環境変数TZはデフォルトでは値が設定されておらず、timedatectlには、デフォルトでUTCが設定されているためです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?