TIMEGM(3) | Linux Programmer's Manual | TIMEGM(3) |
名前
timegm, timelocal - gmtime と localtime の逆関数書式
#include <time.h>
time_t timelocal(struct tm * tm );
time_t timegm(struct tm * tm );
glibc 向けの機能検査マクロの要件 ( feature_test_macros(7) 参照):
説明
timelocal() 関数と timegm() 関数は、それぞれ localtime(3) 関数と gmtime(3) 関数の逆関数である。準拠
これらの関数は非標準で GNU の拡張である。 BSD 系にも存在する。これらの使用は避けること。「注意」参照。注意
timelocal() 関数は POSIX の標準関数 mktime(3) と同じものである。ので、これを使う理由はないはずである。timegm() を移植性があるようなかたちで実現するには、 TZ 環境変数を UTC に設定してから mktime(3) を呼んで、 TZ の値を取得すればよい。例えば次のようになるだろう。
#include <time.h>
#include <stdlib.h>
time_t my_timegm (struct tm *tm)
{
time_t ret;
char *tz;
tz = getenv("TZ");
setenv("TZ", "", 1);
tzset();
ret = mktime(tm);
if (tz)
setenv("TZ", tz, 1);
else
unsetenv("TZ");
tzset();
return ret;
}
関連項目
gmtime(3), localtime(3), mktime(3), tzset(3)この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.51 の一部である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。2007-07-26 | GNU |