サマータイムなしのローカル時刻を得る方法
サマータイムを除いた、標準時差だけのローカル時刻が欲しい。
何が問題か?
管理のしやすさから、現地としての時刻は欲しい。
しかし、サマータイムがあると時刻が飛んだり重複する問題がある。
UTCは使いたくない。特に日付が異なる問題が大きい。時刻が分かれば良いという問題ではない。
Unix
事前に時差がわかる場合
タイムゾーンに UTC+n, UTC-n を設定する。
TZ=UTC+n または TZ=UTC-n で一時的に時差を設定する。
C言語
time_t から localtime 関数を呼ぶとサマータイム入りのローカル時刻が取得されてしまう。
is_dst フラグでサマータイムかどうかが分かるので、それを避けた時刻で時差を求める。
関連
サマータイムかどうかの判別
#サマータイム