e$B;W$$N)$C$F!"e(Btime_t e$B$r1[$($kHO0O$re(B Time
e$B$G07$&$3$H$KD)@o$7$Fe(B
e$B$_$^$7$?!#e(B
http://www.a-k-r.org/tmp/ruby-big-time.patch
e$BFbItE*$K$Oe(B timespec e$B$N$+$o$j$Ke(B VALUE
e$B$r;H$C$F$"$j$^$9!#e(B
% ./ruby -ve ‘p Time.utc(5670000000)’
ruby 1.9.2dev (2009-03-27) [i686-linux]
5670000000-01-01 00:00:00 UTC
% ./ruby -ve ‘p Time.now - 12000 * 365 * 24 * 60 * 60’
ruby 1.9.2dev (2009-03-27) [i686-linux]
-9983-03-15 07:44:10 +0900
e$B$3$l$r<B8=$9$k$N$KLdBj$K$J$k$N$O!“7k6I!“0J2<$N>pJs$r$I$&$d$Ce(B
e$B$FF@$k$+$H$$$&E@$G$9!#$3$l$i$N>pJs$5$($”$l$P!”$"$H$O7W;;$G$Ie(B
e$B$&$K$+$G$-$^$9!#e(B
- e$B%7%9%F%
$N%?%$%
%>!<%s$K$*$1$k;~:9e(B - e$B1<ICe(B
localtime/gmtime e$B$,;H$($l$P!"$3$l$i$N>pJs$rF@$i$l$k$N$Ge(B
e$B$9$,!“e(Btime_t e$B$NHO0O30$G$O;H$($^$;$s$7!“HO0OFb$G$b;H$($J$$$3e(B
e$B$H$,$”$k!”$H$$$&$N$,LdBj$G$9!#e(B
(e$BHO0OFb$G;H$($J$$Nce(B: 64bit time_t e$B$G$Oe(B 32bit tm_year
e$B$,e(B overflow e$B$9$ke(B)
e$B$I$&BP=h$7$?$+$H$$$&$H!“$^$:1<IC$O%7%9%F%$,CN$C$F$$$kHO0O$@e(B e$B$1$r07$C$F$$$^$9!#e(B1e$BG/8e$h$j$b@h$N1<IC$,$I$&$J$k$+$OC/$bCN$ie(B e$B$J$$$N$G!"e(B32bit time_t e$B$J4D6-$G$be(B 2037e$BG/$K$J$k$^$G$O!"1<IC$Ne(B e$B>pJs$O$9$Y$FF@$i$l$^$9!#e(B(e$B$b$A$m$s!"%7%9%F%
$N4IM}<T$,1<IC$Ne(B
e$B>pJs$r;HMQ$9$k$H7h?4$7$F!”$A$c$s$H>pJs$r99?7$7$F$$$l$P!"$G$9e(B
e$B$,e(B)
e$B;~:9$OLq2p$G!“FCDj$N;~9o$K$*$1$k%?%$%`%>!<%s$N;~:9$rF@$k3N<Be(B
e$B$JJ}K!$O$”$j$^$;$s!#$F$-$H$&$K7h$a$F$$$^$9!#$3$N=hM}$K$D$$$Fe(B
e$B$O9)IW$NM>CO$O$"$k$+$b$7$l$^$;$s!#e(B
(Matz e$BF|5-$G0JA0>R2p$5$l$F$$$?!"e(BPerl e$B$N$O$d$C$F$^$;$s!#e(B)
e$B$?$@!“$I$&$;$3$l$OL5M}$JOC$J$N$G!”%W%m%0%i%`$+$i;~:9$r;XDj$9e(B
e$B$ke(B API e$B$rMQ0U$9$kJ}8~$N$[$&$,E,@Z$G$7$g$&!#e(B
e$BFbItE*$K$Oe(B UTC e$B$+$i$Ne(B offset e$B$re(B Time object
e$BKh$KJ];}$9$k%G!<e(B
e$B%?9=B$$K$J$C$F$$$k$N$G!"e(BAPI e$B$rMQ0U$9$l$P!"e(BTime
e$B%*%V%8%'%/%He(B
e$B$N;~:9$r<+M3$K@_Dj$G$-$k$h$&$K$J$j$^$9!#e(B
e$B$“$H!”%0%l%4%j%*Nr$7$+07$C$F$$$J$$$N$G!"$$$/$i2a5n$KAL$C$F$be(B
e$B%f%j%&%9Nr$K$O$J$j$^$;$s!#e(B(e$B$b$A$m$sE7J]Nr$K$b$J$j$^$;$se(B)
e$B$^$?!“e(BTime#subsec e$B$rDI2C$7$F$”$j$^$9!#$3$l$OFbItI=8=$Ge(B
Rational e$B$r;H$($k$N$G!"e(Bnsec e$B$G$O40A4$J>pJs$r<h$j=P$;$J$$$+$ie(B
e$B$G$9!#e(B0 <= subsec < 1 e$B$NHO0O$GIC$h$j$b>.$5$JItJ,$rJV$7$^$9!#e(B
e$B$3$&$J$k$He(B DateTime e$B$H$I$&0c$&$N$+!“$H$$$&OC$K$J$k5$$b$7$^$9e(B
e$B$,!”$*$=$i$/1<IC$,:GBg$N0c$$$K$J$k5$$,$7$^$9!#<B@$3&$Ne(B (e$B%7%9e(B
e$B%F%`$Ne(B)
e$B;~9o$r07$($k$H$$$&0UL#$G$OMxE@$G$"$j!"e(Bne$BF|8e$H$+$N7We(B
e$B;;$rFq$7$/$9$k$H$$$&0UL#$G$O7gE@$G$7$g$&$+!#e(B
e$B$I$&$G$7$g$&e(B?