gmtime.c
来自「俄罗斯高人Mamaich的Pocket gcc编译器(运行在PocketPC上)」· C语言 代码 · 共 66 行
C
66 行
#include <stdlib.h>#include <time.h>#include "sys/timefcns.h"static struct tm tb = { 0 };struct tm *gmtime(const time_t * timp){ long caltim = *timp; int islpyr = 0; int tmptim; int *mdays; struct tm *ptb = &tb; if (caltim < 0L) return (NULL); tmptim = (int) (caltim / _FOUR_YEAR_SEC); caltim -= ((long) tmptim * _FOUR_YEAR_SEC); tmptim = (tmptim * 4) + 70; if (caltim >= _YEAR_SEC) { tmptim++; caltim -= _YEAR_SEC; if (caltim >= _YEAR_SEC) { tmptim++; caltim -= _YEAR_SEC; if (caltim >= (_YEAR_SEC + _DAY_SEC)) { tmptim++; caltim -= (_YEAR_SEC + _DAY_SEC); } else { islpyr++; } } } ptb->tm_year = tmptim; ptb->tm_yday = (int) (caltim / _DAY_SEC); caltim -= (long) (ptb->tm_yday) * _DAY_SEC; if (islpyr) mdays = _lpdays; else mdays = _days; for (tmptim = 1; mdays[tmptim] < ptb->tm_yday; tmptim++); ptb->tm_mon = --tmptim; ptb->tm_mday = ptb->tm_yday - mdays[tmptim]; ptb->tm_wday = ((int) (*timp / _DAY_SEC) + _BASE_DOW) % 7; ptb->tm_hour = (int) (caltim / 3600); caltim -= (long) ptb->tm_hour * 3600L; ptb->tm_min = (int) (caltim / 60); ptb->tm_sec = (int) (caltim - (ptb->tm_min) * 60); ptb->tm_isdst = 0; return ((struct tm *) ptb);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?