ページ 11

指定タイムゾーン時刻データからUTC時刻データへの変換方法

Posted: 2011年8月19日(金) 13:51
by 困ったくん
はじめまして、初投稿させていただきます。

あるタイムゾーンの時刻データを別のタイムゾーンの時刻へ変換したいのですが、どうやればよいのかがわかりません。
(たとえば、ニューヨーク時間等での時刻データをUTC時間に変換したい)
要は、変換元のタイムゾーンと変換先のタイムゾーンを指定でき、指定した時間データを変換させたいんです。
ローカルタイムをUTCに変換することはできたのですが。。

すみませんが、ご教授のほど、よろしくお願いします。

Re: 指定タイムゾーン時刻データからUTC時刻データへの変換方法

Posted: 2011年8月19日(金) 15:51
by YuO
DSTを考えない場合,タイムゾーンがUTC+Nの場合,
・ローカル→UTC : N時間引く
・UTC→ローカル : N時間足す
# UTC-NはUTC+(-N)と考える
になります。DSTはNに対する修正と見なす方が簡単でしょう。

例えば,ESTは
・DST外:UTC-5なので,ローカル→UTCは5時間足し,UTC→ローカルは5時間引く
・DST内(EDT):UTC-4なので,ローカル→UTCは4時間足し,UTC→ローカルは4時間引く
となります。

これを,変換元ローカル→UTC→変換先ローカルという順序で時刻を変換すれば,タイムゾーンの変換ができます。

Re: 指定タイムゾーン時刻データからUTC時刻データへの変換方法

Posted: 2011年8月19日(金) 18:15
by 困ったくん
ご回答、ありがとうございました。

やはり、+-し算出するしかないのですね。夏時間を考慮するのが面倒だったため
何かクラス等があればと思い質問させていただきました。

ご回答の内容を参考にさせていただきます。

Re: 指定タイムゾーン時刻データからUTC時刻データへの変換方法

Posted: 2011年8月19日(金) 18:44
by hjkl
boost.date_timeとかでそういった処理ができるんですかね?
日時とかには疎いんでまちがってたらすみません。