datetime_un.c

来自「linux下qmail的源码 本人加了一些注释」· C语言 代码 · 共 36 行

C
36
字号
#include "datetime.h"/* roughly 100x faster than mktime() */datetime_sec datetime_untai(dt)struct datetime *dt;{  int year;  int day;  int mon;   year = dt->year + 1900;   mon = dt->mon;  if (mon >= 2) { mon -= 2; }  else { mon += 10; --year; }   day = (dt->mday - 1) * 10 + 5 + 306 * mon;  day /= 10;   if (day == 365) { year -= 3; day = 1460; }  else { day += 365 * (year % 4); }  year /= 4;   day += 1461 * (year % 25);  year /= 25;   if (day == 36524) { year -= 3; day = 146096; }  else { day += 36524 * (year % 4); }  year /= 4;   day += 146097 * (year - 5);  day += 11017;   return ((day * 24 + dt->hour) * 60 + dt->min) * 60 + dt->sec;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?