2018年12月25日火曜日

日本時間でのリセット設定


diggerアドオンを見ていたら以下のコードがあった。
local today = os.date('!%Y-%m-%d', os.time() + 32400)

32400秒は9時間であるためUTC+9つまり日本標準時JSTを指定している。なお、Luaのos.dateで!を使うとUTCで書式化される決まり。それを9時間ずらしてどのタイムゾーンでも日本時間の日付を取得できる。

たとえば、日本時間1月1日AM8時は、ニューヨークだと前日のPM6時。14時間の時差があり日付が異なる状態となる。でも、ニューヨークで稼働しているWindowerも新年1月1日の日付がtodayに格納される。


diggerアドオンは、このtodayの値をsettings(config)を使ってファイルに保存し、地球時間0時またぎのリセットが発生したかどうかを検出している。

0 件のコメント:

コメントを投稿