[Armadillo:08710] Re: 時刻の扱いについて

Yasushi SHOJI email@hidden
2013年 3月 26日 (火) 12:48:29 JST


At Mon, 25 Mar 2013 10:06:01 +0900,
Yamamoto wrote:
> 
> 知りたいのhwclock時間をJSTに設定した場合でも、gmtime関数とlocaltime関数は世界標
> 準時間と日本時間で返してくれるのかだったのですが・・・

RTCを local time で保存するのは推奨されません。

linuxは windows と違って、RTC には UTC の時刻が書かれているという前提で
動きます。RTCへの書き出しの時も読み込みの時も UTC前提です。Linuxは、
RTCから読み出した時刻をシステム時間として起動時に登録します。これはシス
テム全体の時間です。システム全体の時間も UTC で管理されます。

http://linuxjf.sourceforge.jp/JFdocs/Clock/time-tracking.html#UTC-DST

gmtime()は、渡された time_t を、struct tm に変換するだけです。

localtime() は、gmtime() と同じように struct tm に変換するのですが、つ
いでに時間を local time に変換します。変換自体は、上記のシステム時間か
らオフセットで計算されます。そのため、localtime()は、gmtime() + オフセッ
トの計算をする関数と言えます。

RTCに JSTで時間を書いても、起動時のシステムクロックの設定を正しく行なわ
ないと、他の関数が正しい値を返さなくなります。
-- 
           yashi




armadillo メーリングリストの案内