> 2002/01/20 (日) 03:36:42 ◆ ▼ ◇ [mirai]> > でもより正確には32bit signed intのtime_tが溢れるまでの日数だよな
> 昨日が問題発生までちょうど36年だったのを忘れてたよ
#include <stdio.h>
#include <limits.h>
#include <time.h>
#include <assert.h>
int main(void) {
time_t now;
struct tm *lt;
assert(CHAR_BIT == 8);
assert(sizeof(time_t) == 4);
time(&now);
lt = localtime(&now);
printf(
"%s%04d/%02d/%02d\n",
"今日は ",
lt->tm_year + 1900,
lt->tm_mon + 1,
lt->tm_mday
);
printf(
"%s%d%s",
"32bit signed intがあふれるまで後",
(int) ((0x7fffffff - now) / 60 / 60 / 24),
"日"
);
return 0;
}
/* perlとかjavascriptとかばっかりいじってるとCの面倒さは異常(;´Д`) */
参考:2002/01/20(日)03時16分39秒