From owner-FreeBSD-users-jp@jp.FreeBSD.org Tue Jan 22 11:58:19 2002
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id g0M2wJ971928;
	Tue, 22 Jan 2002 11:58:19 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from gale.nintendo.co.jp (gale.nintendo.co.jp [211.8.190.211])
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) with ESMTP/inet id g0M2wJm71923
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Tue, 22 Jan 2002 11:58:19 +0900 (JST)
	(envelope-from shirai@nintendo.co.jp)
Received: from sky.nintendo.co.jp (sky.nintendo.co.jp [10.100.1.2])
	by gale.nintendo.co.jp (Postfix) with ESMTP id 4E2C0153EB
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Tue, 22 Jan 2002 11:58:18 +0900 (JST)
Received: from pon.nintendo.co.jp (pon.nintendo.co.jp [10.115.1.1])
	by sky.nintendo.co.jp (8.9.3/3.7W/2002012209) with ESMTP id LAA23134
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Tue, 22 Jan 2002 11:58:20 +0900
Received: from nintendo.co.jp (IDENT:shirai@localhost [127.0.0.1])
	by pon.nintendo.co.jp (8.9.3/3.7W/2000112417) with ESMTP id LAA23339
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Tue, 22 Jan 2002 11:58:17 +0900
Message-Id: <200201220258.LAA23339@pon.nintendo.co.jp>
To: FreeBSD-users-jp@jp.FreeBSD.org
In-reply-to: Your message of Tue, 22 Jan 2002 10:36:25 JST.
             <549181FA41DDD74BA2CFD9BB3A14E3576030D9@tkyexc01.smisol.co.jp>
Date: Tue, 22 Jan 2002 11:58:17 +0900
From: Takashi SHIRAI <shirai@nintendo.co.jp>
Reply-To: FreeBSD-users-jp@jp.FreeBSD.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+011218
X-Sequence: FreeBSD-users-jp 66546
Subject: [FreeBSD-users-jp 66546] Re: Reference time_t values for checking correct leapseconds setting
Errors-To: owner-FreeBSD-users-jp@jp.FreeBSD.org
Sender: owner-FreeBSD-users-jp@jp.FreeBSD.org
X-Originator: shirai@nintendo.co.jp

$B!!$7$i$$$G$9!#(B

In Message-Id <549181FA41DDD74BA2CFD9BB3A14E3576030D9@tkyexc01.smisol.co.jp>
        matoba@smisol.co.jp$B$5$s(Bwrites:
> $BE*>l$G$9!%(B

> >$B!!$7$i$$$G$9!#(B
> ($B<B$OEP>l$7$F$$$?$@$/$N$r4|BT$7$F$^$7$?!K(B

$B!!<B$O8F$P$l$F$$$?$N$G$9$M!#(B


> >$B!!$O$F!);d$O0lBN$$$D$I$3$G$3$s$J$b$N$r=q$$$?$s$@$m$&!)A4A35-(B
> >$B!!21$K$J$$!%!%!%!#(B
> 
> $B2r@bA4BN$O!$Gr0f$5$s$,=q$+$l$?$b$N$G$O$J$$$G$9$,!$(B
> tz.c$B$H$7$F0zMQ$5$l$F$$$k%W%m%0%i%`$OGr0f$5$s$N$b$N$G$9$h$M!%(B

$B!!$=$N(B tz.c $B$KA4$/5-21$,$J$$Lu$G$7$F!#$I$&$b(B FreeBSD-users-jp
$B$N5-;v$i$7$$$G$9$M!#(B


> >$B!!!!(Bprogram $B$G3NG'$9$k$H3N<B$J$s$G$7$g$&$1$I!"<j$C<h$jAa$$J}K!(B
> >$B!!$H$7$F$O!"(Btimestamp $B$r8+Hf$Y$k$H$$$&J}K!$,$"$j$^$9!#1<IC$r@_(B
> >$B!!Dj$7$F$$$J$$(B machine $B$H$N4V$G1<ICJ,$@$1$:$l$F$$$l$P(B OK$B!#(B
> 
> $B<B$O!$(BM$$B$N(BOS$B$N(Btime_t$B$K$bF1$8CM$rM?$($F%A%'%C%/$7$?$$$N$G$9!%(B
> $B$=$3$G!$(Btime_t$B$NCM$=$N$b$N$rM_$7$+$C$?$H$$$&$o$1$G$7$F!%(B

$B!!(B/usr/src/share/zoneinfo/leapseconds $B$N(B sample $B$O$=$3$3$3$K(B
$BE>$,$C$F$^$9$h$M!#(BFreeBSD $B$N(B source $B$G$b$$$$$7!"$=$N85$K$J$C(B
$B$?(B ftp://elsie.nci.nih.gov/pub/tzdata2001b.tar.gz $B$G$b$$$$$G(B
$B$7$g$&!#(B
$B!!$=$l$r8+$k$H$3$l$^$G$N1<ICA^F~;~9o$,H=$k$H;W$&$N$G!"$=$N;~(B
$B9o$r(B struct tm $B9=B$BN$KBeF~$7$F(B mktime(3) $B$rDL$;$P!"$=$N;~9o(B
$B$KBP$9$k(B UNIX time $B$,;;=P$5$l$kH&$G$9!#(B
$B!!$3$&$7$FF@$i$l$?3F(B UNIX time $B$N6aK5$NCM$r!"(Btz.c $BF1MM$K$7$F(B
ctime(3) $B$KEO$7$F$d$l$P!"A41<ICA^F~;~9o$KBP$9$k8!>Z$,2DG=$+(B
$B$H;W$$$^$9!#(B

$B!!B?J,$3$s$J46$8!#(B

---- Cut Here ----
#include <stdio.h>
#include <sys/types.h>
#include <time.h>

struct tm leap[] = {
	{ 60, 59, 23, 30,  6 - 1, 72 },
	{ 60, 59, 23, 31, 12 - 1, 72 },
	{ 60, 59, 23, 31, 12 - 1, 73 },
	{ 60, 59, 23, 31, 12 - 1, 74 },
	{ 60, 59, 23, 31, 12 - 1, 75 },
	{ 60, 59, 23, 31, 12 - 1, 76 },
	{ 60, 59, 23, 31, 12 - 1, 77 },
	{ 60, 59, 23, 31, 12 - 1, 78 },
	{ 60, 59, 23, 31, 12 - 1, 79 },
	{ 60, 59, 23, 30,  6 - 1, 81 },
	{ 60, 59, 23, 30,  6 - 1, 82 },
	{ 60, 59, 23, 30,  6 - 1, 83 },
	{ 60, 59, 23, 30,  6 - 1, 85 },
	{ 60, 59, 23, 31, 12 - 1, 87 },
	{ 60, 59, 23, 31, 12 - 1, 89 },
	{ 60, 59, 23, 31, 12 - 1, 90 },
	{ 60, 59, 23, 30,  6 - 1, 92 },
	{ 60, 59, 23, 30,  6 - 1, 93 },
	{ 60, 59, 23, 30,  6 - 1, 94 },
	{ 60, 59, 23, 31, 12 - 1, 95 },
	{ 60, 59, 23, 30,  6 - 1, 97 },
	{ 60, 59, 23, 31, 12 - 1, 98 },
};
#define	LEAPSIZ	(sizeof (leap) / sizeof (struct tm))

main()
{
	struct tm *tp;
	time_t t;
	int i, j;

	putenv("TZ=GMT");
	for (i = 0; i < LEAPSIZ; i++) {
		t = mktime(&(leap[i]));
		t--;
		for (j = 0; j < 3; j++) {
			printf("%s", ctime(&t));
			t++;
		}
	}
}
---- Cut Here ----

$B!!0x$_$K$3$N(B mktime(3) $B$N7k2L$r=PNO$5$;$F$_$k$H!"3F!9$N(B UNIX
time $BCM$O0J2<$N$h$&$K$J$k$H;W$$$^$9!#(B
	 78796800,  94694401, 126230402, 157766403, 189302404,
	220924805, 252460806, 283996807, 315532808, 362793609,
	394329610, 425865611, 489024012, 567993613, 631152014,
	662688015, 709948816, 741484817, 773020818, 820454419,
	867715220, 915148821
$B!!$3$NCM$r85$K(B mktime(3) $BL5$7$K$$$-$J$j(B ctime(3) $B$7$F$_$F$b(B
$B$$$$$G$7$g$&$M!#(B


> >$B!!!!$"$H!"(BNTP $B$G3NG'$H$$$&<j$b$"$j$^$9!#@$$NKX$s$I$N(B NTP server
> >$B!!$O(B UTC $B$r9o$s$G$$$J$$$N$G!"1<IC$r@_Dj$7$?(B machine $B$G(B NTP $B$r(B
> >$B!!M-8z$K$9$k$H!";~Js$+$i1<ICJ,$@$1CY$l$?;~$r9o$`H&$G$9!#(B
> >$B!!!!;d$O$3$l$,7y$J$N$G1<IC$O@_Dj$7$J$$$3$H$K$7$F$$$k$s$G$9$,!"(B
> >$B!!@_Dj$,M-8z$K$J$C$F$$$k$3$H$N3NG'$H$7$F$O;H$($^$9$M!#(B
> 
> $B$($C!$$=$&$J$s$G$9$+!)(B
> $B<B7P83$,$J$$$b$s$G(Bsntp$B$G(BNTP$B%5!<%P$,$/$l$k(B
> $BIC?t$NCM$C$F!$(B1900$BG/(B1$B7n(B1$BF|(B 00$B;~(B00$BJ,(B00$BIC(B UTC$B$+$i$N(B
> $BIC?t$N%+%&%s%HCM$H$P$+$j;W$C$F$$$?$N$G$9$,!$$=$&$8$c$J$$$N$G$9$+!)(B

$B!!<B$O$=$&$G$O$J$$$s$G$9!#1<ICA^F~8e$K(B 1 $BIC4,$-La$7$F$$$^$9!#(B
$B$J$N$G!"(BNTP server $B$NJV$9CM$O(B 01/01/1900 00:00:00 $B$+$i$N7P2a(B
$BIC$K$J$C$F$$$^$;$s!#(B
$B!!$3$N$o$6$o$64,$-La$9$H$$$&;EMM$O(B POSIX $BM3Mh$N$b$N$i$7$$$G(B
$B$9$M!#(B

$B!t!!(B94 $BG/$+(B 97 $BG/$N(B 7/1 $B$K$o$6$o$6D4$Y$?5-21$,$"$j$^$9!#(B1/1
$B!t$ON.@P$KD4$Y$k5$$K$O$J$j$^$;$s$G$7$?$,(B :-)


> $B$^$?ITJY6/$J$N$G$9$,!$(BUTC$B$H$$$&$N$O$=$N%+%&%s%HCM$=$N$b$N$b(BUTC$B$J$N$+!$(B
> $B$=$l$H$bNc$($P!V(B1998$BG/(B12$B7n(B31$BF|(B 23$B;~(B59$BJ,(B60$BIC(B UTC$B!W$H$$$&$b$N$,(BUTC$B$J$N$+(B
> $B$h$/M}2r$G$-$F$*$j$^$;$s!%(B

$B!!3N$+$K!V(BUTC$B!W!V(BTAI$B!W!V(BGMT$B!WEy$NL>>N$,<($9CM$O!V;~9o!W$G$"(B
$B$j!"0lJ}(B NTP $B$NJV$9CM$O!V7P2a;~4V!W$J$N$G!"@53N$K$O(B NTP $B$,JV(B
$B$9CM$r!V(BUTC$B!W!V(BTAI$B!WEy$NL>>N$GI=$9$3$H$O=PMh$^$;$s!#(B
$B!!$G$9$+$i>e5-$G$O!V(BUTC $B$r9o$s$G$$$J$$!W$H$$$&HyL/$J8@$$2s$7(B
$B$r$7$F$$$k$s$G$9$M!#4,$-La$7$N$"$k!V7P2a;~4V!W$J$I$O$I$3$K$b(B
$B5,3J2=$5$l$F$$$J$$$H;W$$$^$9!#(B


> $B$A$J$_$K!$(Btime_t$B$K$D$$$F$O$=$NCM$OC1$KIC?t$G$"$C$F!$(B
> $B$=$NCM$=$N$b$N$O(BUTC$B$G$O$J$$$H2r<a$9$k$7$+$?$K8D?ME*$K;?@.$G$9!%(B

$B!!$=$l$G9g$C$F$k$H;W$$$^$9$h!#!V;~9o!W$H!V;~4V!W$H$O0lHLDLG0(B
$B$G$b0[$J$k35G0$G$9$+$i!#(B

                                               $B$7$i$$(B $B$?$+$7(B
