※ ChatGPTを利用し、要約された質問です(原文:dateコマンドで出てくるDST)
Windows Subsystem for LinuxにおけるDSTの意味とは?
このQ&Aのポイント
Windows Subsystem for Linux(WSL)が正式版になり、Windows 10で動作しているUbuntuにてdateコマンドを実行した結果、DSTというタイムゾーンが表示されました。
DSTはDaylight Saving Time(夏時間)を表すもので、日本と同様のタイムゾーンを示しています。
環境変数TZにはJapan以外の国名がセットされていないため、DSTが表示されるようです。
Windows 10 で動く Windows Subsystem for Linux が正式版になったので早速インストールして Ubuntu で動かしています。そこでコマンドラインから date コマンドを実行したところ以下のように出力されました。
Wed Nov 15 18:00:01 DST 2017
この DST とはなんでしょう? 普通なら JST 等のタイムゾーンが出る所ですよね? DST という名称のタイムゾーンがあるんでしょうか? (だとすると Daylight Saving Time と同じで非常に紛らわしいように思いますが)。
一体これはどういうことかと思い、 date '+%Z %z' をやってみたらこう出ます。
DST +0900
どうやら日本と同じようです。環境変数 TZ に Japan 以外の何か知らない国名がセットされているのかなと思って $TZ を出してみましたが空で、env | grep TZ で出力がないので TZ は完全にセットされていないようです。
じゃあ TZ を Japan にセットしたらどうなるのかというと、これは以下のように JST で出ます。(以下は最初の行が date のみ、次の行が date '+%Z %z' の出力)
Wed Nov 15 18:04:49 JST 2017
JST +0900
お礼
ありがとうございます。しかしそうではないようで、どうやら Bash on Ubuntu on Windows の頃からあるバグのようです。 http://tech.guitarrapc.com/entry/2017/06/20/033946 https://github.com/HowardHinnant/date/issues/102 http://pslabo.hatenablog.com/entry/2017/08/26/210928 しょうがないので自分でシンボリックリンクすることにします。