예제 #1
0
static struct tm *_localtime64_r (const time_t * now, double *_t, struct tm *p)
{
    double tl;
    time_t t;
    struct tm tm, tm_localtime, tm_gmtime;
    _gmtime64_r (now, _t, &tm);
    if (tm.tm_year > (2037 - 1900))
        tm.tm_year = 2037 - 1900;
    t = mktime64 (&tm);
    localtime_r (&t, &tm_localtime);
    gmtime_r (&t, &tm_gmtime);
    tl = *_t;
    tl += (mktime64 (&tm_localtime) - mktime64 (&tm_gmtime));
    _gmtime64_r (now, &tl, p);
    p->tm_isdst = tm_localtime.tm_isdst;
    return p;
}
예제 #2
0
struct tm *gmtime64_r (const double *_t, struct tm *p)
{
    double t;
    t = *_t;
    return _gmtime64_r (NULL, &t, p);
}
예제 #3
0
struct tm *pivotal_gmtime_r (const time_t * now, const time_t * _t, struct tm *p)
{
    double t;
    t = *_t;
    return _gmtime64_r (now, &t, p);
}
예제 #4
0
struct tm *gmtime64_r (const time64_t * _t, struct tm *p)
{
    time64_t t;
    t = *_t;
    return _gmtime64_r (NULL, &t, p);
}