はじめに
プロジェクトを作成するにあたって時間を取り扱う時に『サマータイム』というものを知っとかなきゃ!っと思ったのでqiita記事にしました!
そもそも『サマータイム』ってなんぞや!
私達が日頃、目にしている時間、時計やスマホの時間とは、基準の時間といわれるものに、ある一定の時間を足したり引いたりしているものです。
ちなみに日本だと+9時間。
『日本は今〇〇時だけど、アメリカは今〇〇時だね』
という会話があるのは、ある一定の時間(タイムゾーン時間)が各国によって違うからなのです!
※日本と書きましたが正確には『Asia/Tokyo』です。
※基準の時間と書きましたが正確には『UTC(協定世界時)』です。
※ある一定の時間と書きましたが正確には『タイムゾーン時間』です。
※各国と書きましたが、正確には『共通の標準時(タイムゾーン時間)を使う地域全体』です。
以下からは※で説明した用語を用いて説明させて頂きます
で、サマータイムとはこのタイムゾーン時間を進めることを言います。
で進めた経緯なのですが以下4コマ漫画作ってみました!
進めると書きましたがサマータイム期間が終わったら進めた時間を戻すことも行います!
ちなみにこのサマータイムですが、ある国、ない国、あった国あり、さらに進める時間も異なります!
サマータイムがあるとどうなる?基本の考え
※自分の国に『サマータイム』があることを想定
サマータイム開始のタイミング
一瞬で1時間進む
よって…その間の時間は空白の時間。この場合6:00になるはずが7:00になったら6:00、6:01、6:02…6:58、6:59はなかったことになる。
5:58、5:59、7:00、7:01
なかったことになるのだ…。
サマータイム終了のタイミング
一瞬で1時間戻る
よって…同じ時間がまた来るのだ。7:00だったはずが6:00になると言うことはまた同じ時間が繰り返されるのだ。
6:01、6:01…6:57、6:58、6:59、6:00、6:01、6:02…6:57、6:58、6:59、7:00
でどうなる?
存在する時間がない日付はプログラムで出力不可になることがある。
時間をそのデバイスなどに頼ると同じ時間でも他の国だと違う時間になることがある。
同じ時間が繰り返されるため、後におこなったのに後におこなったことにならないことがある。
サマータイムが開始されたのに時間が変わらないことがある
実行されるはずの処理が実行されない
1回の実行でいいものが2回されてしまう
私は思った
サマータイムが、対象とする時間に今後起きるなら…(日本にサマータイムが導入されるかもと言われている)
変わらないUTCの時間で管理しない限り、またはそれに相当する管理方法で管理しない限りおかしなことは起こる…。
さいごに
サマータイムやめませんか?