閏秒のチェック
どこかに載っていたんだけど、どこだっけな…。
次のプログラムを実行すれば、
#include <stdio.h> #include <time.h> #include <sys/types.h> int main(int argc, char* argv[]){ time_t t = (time_t)915148820; printf("08:59:59 - %s", ctime(&t)); t++; printf("08:59:60 - %s", ctime(&t)); t++; printf("09:00:00 - %s", ctime(&t)); return(0); }
うるう秒に対応したシステムでは、
Fri Jan 1 08:59:59 1999 Fri Jan 1 08:59:60 1999 Fri Jan 1 09:00:00 1999
逆に対応していないシステムでは、
Fri Jan 1 09:00:20 1999 Fri Jan 1 09:00:21 1999 Fri Jan 1 09:00:22 1999
と表示される。