TIMEGM

Section: Linux Programmer's Manual (3)
Updated: 2013-07-04
Index JM Home Page roff page
 

名前

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(): _BSD_SOURCE || _SVID_SOURCE  

説明

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");
    if (tz)
        tz = strdup(tz);
    setenv("TZ", "", 1);
    tzset();
    ret = mktime(tm);
    if (tz) {
        setenv("TZ", tz, 1);
        free(tz);
    } else
        unsetenv("TZ");
    tzset();
    return ret;
}
 

関連項目

gmtime(3), localtime(3), mktime(3), tzset(3)  

この文書について

この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。


 

Index

名前
書式
説明
準拠
注意
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 15:33:28 GMT, March 14, 2017