Big time

Tanaka A. e$B$5$s$O=q$-$^$7$?e(B:

ruby 1.9.2dev (2009-03-11 trunk 22881) [x86_64-linux]
e$B$^$;$s!#e(B
e$BFI$`B&$Oe(Bunsignede$B$GFI$s$G$^$9$1$I$M$(e(B

zsh % ~/target/trunk/bin/ruby -rstringio -rzlib -ve’

s = open("/tmp/tmp.gz", “r:ASCII-8BIT”) {|f| f.read }
s[4,4] = [1<<32 - 1].pack(“L”)
f = StringIO.new(s)
Zlib::GzipReader.wrap(f) {|gz| p gz.mtime }’
ruby 1.9.2dev (2009-03-31 trunk 23101) [x86_64-linux]
2038-01-19 12:14:08 +0900

e$B$=$N%a%=%C%I$r8F$V$N$rK:$l$?$H$-$K$O!“e(BFile.utime e$B$K$?$I$jCee(B
e$B$/$^$G8!=P$G$-$^$;$s$,!”$=$N>l9g$K8!=P$9$k$N$OFq$7$$$s$8$c$Je(B
e$B$$$G$7$g$&$+!#@EE*7?$d7??dO@$rF3F~$7$J$$8B$j!#e(B

e$B$&!<$s!"$b$H$b$H$Ne(B
e$B!V%i%$%V%i%j:n<T$,$$$o$l$N$J$$%P%0Js9p$GHhJ@$9$k$N$rHr$1$?$$!We(B
e$B$H$$$&%K!<%:$O$"$^$jK~$?$7$F$/$l$J$$$N$,5$$K$J$j$^$9$,!"$7$g$&$,$J$$$N$+$J$"!#e(B

e$B$=$l0J30$N>l9g$K$b6=L#$,$"$j$^$9!#7?$,$J$$B>$N8@8l$G$OIT@5$JCM$,$I$3$+$i$d$C$Fe(B
e$B$-$?$+$r$I$N$h$&$K%G%P%C%0$9$k$s$G$7$g$&!#$@$l$+CN$j$^$;$s$+$M!#e(B

printf e$B%G%P%C%0$J$s$8$c$J$$$G$9$+!#e(B

e$B$"$!!"$=$&$$$($Pe(B OCaml e$B$N%G%P%C%,$O5UJ}8~$KF0$+$;$^$9$M!#$3e(B
e$B$l$OM}A[E*$J2r7h:v$+$b$7$l$^$;$s!#e(BOCaml e$B$,7?$N$J$$8@8l$@$H$Oe(B
e$B$$$$$^$;$s$,!#e(B

e$B7?$H$$$&$+$`$7$m5UJ}8~$KF0$+$=$&$H$9$k;~$K$"$k$H:$$k$N$OI{:nMQ$N$h$&$J5$$,$7$^e(B
e$B$9$,!“e(BOcamle$B$C$F@53JI>2A$@$C$?$h$&$J!”$H;W$C$F$A$g$C$HD4$Y$k$He(Bforke$B$9$k$N$+!#e(B
e$B$&!<$s!"$3$l$O9S5;$@$Je(B…

e$B$"$H!"e(Bgzip e$B$Ne(B MTIME e$B$Ge(B 0 e$B$Oe(B 1970-01-01 00:00:00 UTC e$B$G$O$J$/!“e(B
timestamp e$B$,B8:_$7$J$$$3$H$r<($7$F$$$k$N$G!”$3$NItJ,$b0UL#$,e(B
e$B0c$&$H9M$($k$N$,E,@Z$+$b$7$l$^$;$s!#e(B

e$B?tCM$NHO0O$r7?$G07$$&$H$$$&%A%c%l%s%8$O?7$7$$$b$N$G$O$J$$$He(B
e$B;W$$$^$9$,!"$=$s$J$K4JC1$K$$$/$b$N$G$b$J$$$h$&$J5$$,$7$^$9!#e(B
e$B>/$J$/$H$b@EE
$J?dO@$K$D$$$F$O!#e(B

e$B$=$&$$$&>l9g$ON>J}$rJq4^$9$k$h$&$J%9!<%Q!<%/%i%9$rDj5A$9$k$N$@$H;W$$$^$9!#$?$He(B
e$B$($Pe(BFloate$B$He(BBignume$B$K$O6&DL$Ne(BNumerice$B$H$$$&%9!<%Q!<%/%i%9$,$"$j$^$9!#e(B

e$BNc$($P!"e(Btime + 1000 e$B$N%/%i%9$O$J$s$G$7$g$&e(B?
1000e$BIC$r2C$($?$3$H$K$h$j!"e(Btime e$B$N%/%i%9$,I=8=2DG=$JHO0O$r30e(B
e$B$l$F$7$^$&$+$b$7$l$^$;$s!#$=$N$H$-$K$I$N%/%i%9$rA*$V$s$G$7$ge(B
e$B$&e(B? e$B$=$l$H$b<:GT$9$k$s$G$7$g$&$+e(B?

e$B<:GT$7$J$$>l9g!“e(BBignum e$B$He(B Fixnum e$B$N$h$&$K!“Jq4^4X78$G$”$l$Pe(B
e$B%/%i%9$rA*$V$N$KG:$^$J$/$F:Q$`$+$b$7$l$^$;$s$,!“e(B32bit
unsigned e$B$He(B 32bit signed e$B$H$+!”$=$3$+$ie(B 0 e$B$r=|$$$?=89g!“Jq4^e(B
e$B4X78$H$O8B$i$J$$4X78$N=89g$,$$$/$D$+$”$C$?$i!”<+L@$H$O8@$$$,e(B
e$B$?$$5sF0$K$J$i$6$k$rF@$J$$$N$G$O$J$$$G$7$g$&$+!#e(B

e$B$?$H$($Pe(B3/2e$B$N%/%i%9$O$J$s$G$7$g$&$+e(B? Fixnume$B$G$9$h$M!#e(B
Rubye$B$N>l9g$O!V;MB’1i;;$G$O7?$OJQ$($J$$J}$KE]$9!W$H$$$&@_7W$J$N$@$H;W$$$^$9!#e(B

e$B$+$J$j$"$-$i$+$Ke(B Ruby e$B$C$]$/$J$$$H$$$&%l%Y%k$KC#$7$F$$$k$H;We(B
e$B$$$^$9!#e(B
e$B$=$&$+$J$"!#%G%P%C%0$7$d$9$$%W%m%0%i%`$,=q$1$k$N$Oe(B(e$BFC$Ke(BPerle$B$HHf$Y$?e(B)Rubye$B$NBg$-e(B
e$B$JFCD’$N0l$D$@$H;W$&$s$@$1$I$J$"!#e(B

e$B>e5-$Ne(B Ruby e$B$C$]$/$J$$$H$$$&$N$O@EE*7?$NF3F~$r;X$7$F$$$^$9!#e(B

e$B%G%P%C%0$7$d$9$$%W%m%0%i%`$r=q$/$3$H$K$O$b$A$m$s;?@.$G$9!#e(B

e$B$Y$D$K@EE*7?$rF3F~$7$J$/$F$be(BFile.utimee$B$h$jA0$KNc30$r5/$3$9J}K!$O$"$k$8$c$J$$$Ge(B
e$B$9$+!#$D$^$j8=>u$O$=$&$J$o$1$G$9$1$I!#e(B

e$B$=$7$F!"$b$7!“e(Btime_t e$B$NHO0O$K$*$5$^$k$Y$-$G$”$k$H%W%m%0%i%^e(B
e$B$,CN$C$F$$$kJ8L.$G!"$=$N$3$H$r%W%m%0%i%`>e$GI=8=$7$?$$$H$7$?e(B
e$B$i!"$=$N8!::$r$9$k%a%=%C%I$r:n$k$H$$$&$N$,E,Ev$G$7$g$&!#e(B

e$B$$$^$^$G$O0EL[$N$&$A$K$=$N8!::$,9T$o$l$?$H9M$($i$l$^$9$+$i!"e(B
e$BM[$K8F$S=P$5$J$1$l$P$J$i$J$$$H$$$&$N$O$?$7$+$K<j4V$,$+$+$j$^e(B
e$B$9!#e(B

e$B$G$9$,!"e(BFile.utime e$B$N$?$a$K;H$o$l$ke(B Time e$B%*%V%8%’%/%H$O3d9ge(B
e$B$H$7$F$O>/$J$/!"Bg$-$JLdBj$G$O$J$$$N$G$O$J$$$G$7$g$&$+!#e(B

e$B$=$b$=$b$J$s$Ge(BFile.utimee$B$K$Oe(BTimee$B%%V%8%’%/%H$rEO$5$J$$$H$$$1$J$$$s$G$9$+e(B?
File.utimee$B$N0z?t$KEO$9%
%V%8%’%/%H$,!"Hf3S$7$?$jI=<($7$?$j$9$ke(BTimee$B%*%V%8%’%/%He(B
e$B$G$J$$$H$$$1$J$$M}M3$O$J$$$H;W$&$s$G$9$1$I!#e(B
File.utimee$B$,$=$s$J$KFC<l$J$ie(BTimee$B$H@Z$jN%$;$P$$$$$s$8$c$J$$e(B?

struct nfstime4 e$B$G$Oe(B int64_t seconds e$B$N$h$&$G$9!#e(B

e$B$=$&$9$k$H!"$I$&$;3N<B$J8!::$Oe(B File.utime e$B$^$G$G$-$J$$$N$@$+e(B
e$B$iJ|$C$F$*$1$P$$$$!"$H$$$&8+J}$b$"$k$H;W$$$^$9!#e(B

e$B$=$l$Oe(BCe$B$N$&$l$7$/$J$5$,e(BRubye$B$N%l%Y%k$^$G>e$,$C$F$-$F$k$@$1$G2?$N2r7h$K$b$J$C$F$Je(B
e$B$$$h$&$K;W$($^$9!#e(B

In article [email protected],
Urabe S. [email protected] writes:

e$B$&!<$s!“$b$H$b$H$Ne(B
e$B!V%i%$%V%i%j:n<T$,$$$o$l$N$J$$%P%0Js9p$GHhJ@$9$k$N$rHr$1$?$$!We(B
e$B$H$$$&%K!<%:$O$”$^$jK~$?$7$F$/$l$J$$$N$,5$$K$J$j$^$9$,!“$7$g$&$,$J$$$N$+$J$”!#e(B

e$B%5%V%/%i%9$K$9$k$HK~$?$5$l$k$s$G$9$+e(B?

e$B$=$&$$$&>l9g$ON>J}$rJq4^$9$k$h$&$J%9!<%Q!<%/%i%9$rDj5A$9$k$N$@$H;W$$$^$9!#$?$He(B
e$B$($Pe(BFloate$B$He(BBignume$B$K$O6&DL$Ne(BNumerice$B$H$$$&%9!<%Q!<%/%i%9$,$"$j$^$9!#e(B

e$B%a%=%C%I$G8!::$9$k$J$i!“8!::$7$?$$HO0O$=$l$>$l$K$D$$$F$R$H$De(B
e$BDj5A$9$l$P$$$$$N$KBP$7!”%/%i%9$G9T$&$H8!::$7$?$$HO0O$=$l$>$le(B
e$B$K$D$$$F$R$H$DDj5A$9$k$N$K2C$($F!"$=$&$$$&%9!<%Q!<%/%i%9$rDje(B
e$B5A$9$k$3$H$K$J$j$^$9!#$=$N%9!<%Q!<%/%i%9$rDj5A$9$k$3$H$K$h$Ce(B
e$B$F$I$s$JMxE@$,F@$i$l$^$9$+e(B? e$B%a%=%C%I$h$j$bJXMx$G$9$+e(B?

e$B$?$H$($Pe(B3/2e$B$N%/%i%9$O$J$s$G$7$g$&$+e(B? Fixnume$B$G$9$h$M!#e(B
Rubye$B$N>l9g$O!V;MB’1i;;$G$O7?$OJQ$($J$$J}$KE]$9!W$H$$$&@_7W$J$N$@$H;W$$$^$9!#e(B

e$B$=$&$$$&@_7W$@$H$O;W$$$^$;$s!#e(B

e$B$?$H$($Pe(B 65536 * 65536 e$B$Oe(B Bignum e$B$G$9$M!#e(B

e$B$Y$D$K@EE*7?$rF3F~$7$J$/$F$be(BFile.utimee$B$h$jA0$KNc30$r5/$3$9J}K!$O$"$k$8$c$J$$$Ge(B
e$B$9$+!#$D$^$j8=>u$O$=$&$J$o$1$G$9$1$I!#e(B

e$B$=$&$G$9$M!#$=$N$+$o$j!"e(B2038e$BG/$J$I$H$$$&@)Ls$re(B File.utime
e$B$Ke(B
e$B4X78$J$$$H$3$m$K$^$G6/@)$9$k$o$1$G$9!#e(B

e$B;d$O!"LdBj$,B8:_$9$k$K$;$h!"LdBj$h$j$bMxE@$N$[$&$,Bg$-$$$H<ge(B
e$BD%$7$F$$$k$N$G$9$,!"KNIt$5$s$OLdBj$N$[$&$,MxE@$h$j$bBg$-$$$He(B
e$B9M$($^$9$+e(B?

e$B$=$b$=$b$J$s$Ge(BFile.utimee$B$K$Oe(BTimee$B%%V%8%'%/%H$rEO$5$J$$$H$$$1$J$$$s$G$9$+e(B?
File.utimee$B$N0z?t$KEO$9%
%V%8%‘%/%H$,!"Hf3S$7$?$jI=<($7$?$j$9$ke(BTimee$B%*%V%8%’%/%He(B
e$B$G$J$$$H$$$1$J$$M}M3$O$J$$$H;W$&$s$G$9$1$I!#e(B
File.utimee$B$,$=$s$J$KFC<l$J$ie(BTimee$B$H@Z$jN%$;$P$$$$$s$8$c$J$$e(B?

e$B$o$?$7$O$=$&$7$?$$$H$O;W$$$^$;$s!#e(B
e$BKNIt$5$s$O$=$&$7$?$$$s$G$9$+e(B?

e$B$=$l$Oe(BCe$B$N$&$l$7$/$J$5$,e(BRubye$B$N%l%Y%k$^$G>e$,$C$F$-$F$k$@$1$G2?$N2r7h$K$b$J$C$F$Je(B
e$B$$$h$&$K;W$($^$9!#e(B

Time e$B$NHO0O$r3HBg$9$k$K$“$?$C$F!”$=$l$r2r7h$7$J$$$H$$$1$J$$e(B
e$B$s$G$9$+e(B?

In article [email protected],
Urabe S. [email protected] writes:

e$B>/$J$/$H$be(BTypeErrore$B$N%a%C%;!<%8$K$Oe(B"(expected e$B$J$s$H$+e(B)"e$B$H$+K\Mh$N0U?^$,I=<($5e(B
e$B$l$F$^$9$+$i$M!#%i%$%V%i%j:n<T$N0U?^$OI=8=$G$-$^$9!#e(B

e$B8!::%a%=%C%I$G$O=PMh$J$$$s$G$9$+e(B?

e$B$D$^$j!“e(B
subclass_time = time.convert_to_the_subclass_for_time_t
e$B$H$$$&$h$&$KJQ49%a%=%C%I$r8F$V$N$H!“e(B
time.check_this_is_in_the_range_of_time_t
e$B$H$$$&$h$&$KHO0O8!::%a%=%C%I$r8F$V$N$H$G!”$I$A$i$bNc30$,5/$-e(B
e$B$k$H$9$l$P!”$=$N%a%C%;!<%8$K!V;~9o$,e(B time_t e$B$NHO0O30$G$"$k!We(B
e$B$H5-=R$9$k$N$O$I$A$i$bF1MM$K2DG=$G$7$g$&!#e(B

e$B$=$l$O!Ve(Btime_t e$B$NHO0OFb$NCM$r;XDj$;$h!W$H$$$&K\Mh$N0U?^$r<(e(B
e$B$7$F$$$k$H;W$$$^$9!#e(B

time_t < Time
gzipe$B$Ne(Bmtime < Time
e$B$G$O2?$,LdBj$J$s$G$7$g$&e(B?

e$B!V$=$&$$$&>l9g$ON>J}$rJq4^$9$k$h$&$J%9!<%Q!<%/%i%9$rDj5A$9$ke(B
e$B$N$@$H;W$$$^$9!W$H$$$&5-=R$+$i!"e(Btime_t e$B$He(B gzip e$B$Ne(B
mtime e$B$rJqe(B
e$B4^$9$k%9!<%Q!<%/%i%9$rDj5A$9$k$N$@$H;W$C$F$$$^$7$?!#e(B

e$BDj5A$7$J$$$s$G$9$+e(B?

e$B$=$l$Oe(B(e$BA0$N%a!<%k$GEDCf$5$s$,<+$i=q$+$l$?$H$*$je(B)e$B0BA4$@$+$i!"$J$s$8$c$J$$$G$9$+!#e(B

e$B;d$,$3$N%9%l%C%I$G0BA4$H=q$$$?$H$3$m$O8+$D$1$i$l$^$;$s$G$7$?!#e(B

e$B;d$N=q$$$?$I$N5-=R$r;X$7$F$$$^$9$+e(B?

e$B$=$l$KBP$9$k8=:_$N$*JV;v$O!Ve(BFile.utimee$B$@$13VN%$9$l$P$h$$!W$G$9$,!#e(B
utimee$B$r3VN%$7$F$b$^$@e(B2038e$BG/$N@)Ls$,B>$NItJ,$K5Z$S$^$9$+e(B?

e$B3VN%$H$$$&$N$,e(B File.utime e$B$,e(B Time
e$B%*%V%8%'%/%H$r<u$1IU$1$J$/e(B
e$B$9$k$H$$$&0UL#$J$i!“$=$l$OMxE@$N$J$$Hs8_49@-$G$”$j!"%f!<%6$,e(B
e$BIT9,$K$J$k$H46$8$^$9!#e(B

e$B!V$?$H$(L5M}$H$$$&7kO@$K$J$k$H$7$F$b!"$9$/$J$/$H$b9M$($k$Y$-$G$9!#!W$H$$$&Iw$Ke(B
e$B6D$C$?$N$OEDCf$5$s$G$9$h$Me(B?

e$B$O$$!#L5M}$C$]$$$H;W$$$^$9!#2DG=$@$H;W$$$^$9$+e(B?

e$B<B$O$$$/$D$+;n$7$?$s$G$9$,!"e(Butime e$B%7%9%F%`%3!<%k$r8F$s$G$b!"e(B
e$B$&$^$/$$$C$?$+$o$+$i$J$$46$8$G$9$M!#e(B

e$B$A$g$C$HH/;6$7$+$+$C$F$k5$$,$9$k$N$G8=;~E@$G$NKNIt$N0U8+$r$^$H$a$F$*$-$^$9$,!"e(B

e$B@EE7?$J$I!"C;4|E$K$O$I$&$K$b$J$i$J$$OCBj$r=P$7$F$7$^$C$?$Ne(B
e$B$OH?>J$7$F$$$^$9!#e(B

  • e$B$=$s$J$Ke(BFile.utimee$B$@$1JL$N?6$kIq$$$r$9$k$J$i!"e(BFile.utimee$B$N0z?t$K$Oe(BTimee$B$G$O$Je(B
    e$B$$%*%V%8%'%/%H$r<u$1IU$1$k$Y$-!#e(B

e$B3NG’$G$9$,!"$3$l$Oe(B File.utime e$B$Oe(B Time
e$B$r<u$1IU$1$k$Y$-$G$J$$!"e(B
e$B$H$$$&0UL#$G$9$Me(B?

Time e$B$r<u$1IU$1$D$D!"e(BTime e$B$G$J$$$b$N$b<u$1IU$1$k$H$$$&0UL#$Ge(B
e$B$O$J$$$G$9$Me(B? e$B$A$J$$K!"8=:$G$b!"e(BFile.utime e$B$Oe(B Time
e$B$G$J$$e(B
e$B%*%V%8%'%/%H$H$7$F@0?t$r<u$1IU$1$^$9!#e(B

e$B;d$O!“e(BFile.utime e$B$,e(B Time
e$B$r<u$1IU$1$J$/$9$k$N$OH?BP$G$9!#e(B
e$B>/$J$/$H$b8_49@-$rB;$J$&$H$$$&LdBj$,$”$j$^$9!#e(B

e$BKNIt$5$s$O!"$J$<$=$&$7$?$$$s$G$9$+e(B?

e$B!Ve(BFile.utime e$B$,e(B Time
e$B$r<u$1IU$1$J$$!W$3$H$K$h$C$F$I$s$JLdBje(B
e$B$r2r7h$7$?$$$s$G$7$g$&$+e(B?

e$B$=$N2r7h$K$h$kMxE@$O!"8_49@-$rB;$J$&$3$H$r4^$`7gE@$h$j$bBg$-e(B
e$B$J$b$N$G$9$+e(B?

Tanaka A. e$B$5$s$O=q$-$^$7$?e(B:

e$B$H$$$&$h$&$KJQ49%a%=%C%I$r8F$V$N$H!“e(B
time.check_this_is_in_the_range_of_time_t
e$B$H$$$&$h$&$KHO0O8!::%a%=%C%I$r8F$V$N$H$G!”$I$A$i$bNc30$,5/$-e(B
e$B$k$H$9$l$P!"$=$N%a%C%;!<%8$K!V;~9o$,e(B time_t e$B$NHO0O30$G$"$k!We(B
e$B$H5-=R$9$k$N$O$I$A$i$bF1MM$K2DG=$G$7$g$&!#e(B

e$B$=$l$O!Ve(Btime_t e$B$NHO0OFb$NCM$r;XDj$;$h!W$H$$$&K\Mh$N0U?^$r<(e(B
e$B$7$F$$$k$H;W$$$^$9!#e(B

e$B$J$k$[$I!#8!::%a%=%C%I$H$$$&I=8=$+$i=R8l%a%=%C%I$rA[A|$7$F$$$^$7$?$,!“Nc30$rH/e(B
e$B@8$9$k%a%=%C%I$G$”$l$P$"$j$+$b$7$l$J$$$H;W$$$^$9!#e(B

e$BD4$YJ}$,2<<j$J$;$$$+$A$g$C$H$=$N$h$&$J%a%=%C%I$NNc$rB>$K;W$$Ib$+$P$J$$$N$G!"e(B
Rubye$B$C$]$5$,$I$&$J$N$+$O2?$H$bJ,$+$j$^$;$s$,!#e(B

e$B$G$O2?$,LdBj$J$s$G$7$g$&e(B?

e$B!V$=$&$$$&>l9g$ON>J}$rJq4^$9$k$h$&$J%9!<%Q!<%/%i%9$rDj5A$9$ke(B
e$B$N$@$H;W$$$^$9!W$H$$$&5-=R$+$i!"e(Btime_t e$B$He(B gzip e$B$Ne(B mtime e$B$rJqe(B
e$B4^$9$k%9!<%Q!<%/%i%9$rDj5A$9$k$N$@$H;W$C$F$$$^$7$?!#e(B

e$BDj5A$7$J$$$s$G$9$+e(B?

time_te$B$He(Bgzipe$B$Ne(Bmtimee$B$rJq4^$9$k%9!<%Q!<%/%i%9$H$7$FEDCf$5$s$N%Q%C%A$Ne(BTimee$B$GIT==J,e(B
e$B$JNc$,;W$$Ib$+$P$J$$$H$$$&OC$G$9!#e(B

e$B$=$l$Oe(B(e$BA0$N%a!<%k$GEDCf$5$s$,<+$i=q$+$l$?$H$*$je(B)e$B0BA4$@$+$i!"$J$s$8$c$J$$$G$9$+!#e(B

e$B;d$,$3$N%9%l%C%I$G0BA4$H=q$$$?$H$3$m$O8+$D$1$i$l$^$;$s$G$7$?!#e(B

e$B;d$N=q$$$?$I$N5-=R$r;X$7$F$$$^$9$+e(B?

[ruby-dev:38227] e$B$Ne(B

e$B<:GT$7$J$$>l9g!"e(BBignum e$B$He(B Fixnum e$B$N$h$&$K!“Jq4^4X78$G$”$l$Pe(B
e$B%/%i%9$rA*$V$N$KG:$^$J$/$F:Q$`$+$b$7$l$^$;$s$,!"e(B

e$B$NItJ,$r;X$7$F$$$?$D$b$j$G$7$?!#0BA4$H$O8@$C$F$J$$$G$9$M!#$4$a$s$J$5$$!#e(B

e$B$=$l$KBP$9$k8=:_$N$*JV;v$O!Ve(BFile.utimee$B$@$13VN%$9$l$P$h$$!W$G$9$,!#e(B
utimee$B$r3VN%$7$F$b$^$@e(B2038e$BG/$N@)Ls$,B>$NItJ,$K5Z$S$^$9$+e(B?

e$B3VN%$H$$$&$N$,e(B File.utime e$B$,e(B Time e$B%*%V%8%’%/%H$r<u$1IU$1$J$/e(B
e$B$9$k$H$$$&0UL#$J$i!"$=$l$OMxE@$N$J$$Hs8_49@-$G$"$j!"%f!<%6$,e(B
e$BIT9,$K$J$k$H46$8$^$9!#e(B

e$BMxE@$,$J$$$s$G$7$g$&$+!#%i%$%V%i%j:n<T$,@UG$HO0O$rL@3N$K$G$-$k$N$OMxE@$G$O$J$$e(B
e$B$G$9$+$M!#$=$l$,%"%W%j%1!<%7%g%s3+H/<T$NIT9,$K7R$,$k$+$OJ,$+$j$^$;$s$,!#e(B

e$B!V$?$H$(L5M}$H$$$&7kO@$K$J$k$H$7$F$b!"$9$/$J$/$H$b9M$($k$Y$-$G$9!#!W$H$$$&Iw$Ke(B
e$B6D$C$?$N$OEDCf$5$s$G$9$h$Me(B?

e$B$O$$!#L5M}$C$]$$$H;W$$$^$9!#2DG=$@$H;W$$$^$9$+e(B?

e$B<B$O$$$/$D$+;n$7$?$s$G$9$,!"e(Butime e$B%7%9%F%`%3!<%k$r8F$s$G$b!"e(B
e$B$&$^$/$$$C$?$+$o$+$i$J$$46$8$G$9$M!#e(B

utimee$B$ND>8e$Ke(Bfstate$B$G3NG’$9$k$H$+!#$$$d$b$A$m$s6%9g>uBV$G$&$^$/$$$+$J$$$N$OM}2re(B
e$B$G$-$^$9$N$G!"Fq$7$=$&$+$J$H$O;W$$$^$9$,!#e(B

  • e$B$=$s$J$Ke(BFile.utimee$B$@$1JL$N?6$kIq$$$r$9$k$J$i!"e(BFile.utimee$B$N0z?t$K$Oe(BTimee$B$G$O$Je(B
    e$B$$%*%V%8%’%/%H$r<u$1IU$1$k$Y$-!#e(B

e$B3NG’$G$9$,!"$3$l$Oe(B File.utime e$B$Oe(B Time e$B$r<u$1IU$1$k$Y$-$G$J$$!"e(B
e$B$H$$$&0UL#$G$9$Me(B?

e$B$O$$!#e(B

Time e$B$r<u$1IU$1$D$D!"e(BTime e$B$G$J$$$b$N$b<u$1IU$1$k$H$$$&0UL#$Ge(B
e$B$O$J$$$G$9$Me(B? e$B$A$J$$K!"8=:$G$b!"e(BFile.utime e$B$Oe(B Time e$B$G$J$$e(B
e$B%*%V%8%’%/%H$H$7$F@0?t$r<u$1IU$1$^$9!#e(B

e$B@0?t$b<u$1IU$1$k$Y$-$G$J$$$H;W$$$^$9!#e(B

e$B;d$O!“e(BFile.utime e$B$,e(B Time e$B$r<u$1IU$1$J$/$9$k$N$OH?BP$G$9!#e(B
e$B>/$J$/$H$b8_49@-$rB;$J$&$H$$$&LdBj$,$”$j$^$9!#e(B

e$BKNIt$5$s$O!"$J$<$=$&$7$?$$$s$G$9$+e(B?

e$B!Ve(BFile.utime e$B$,e(B Time e$B$r<u$1IU$1$J$$!W$3$H$K$h$C$F$I$s$JLdBje(B
e$B$r2r7h$7$?$$$s$G$7$g$&$+e(B?

[ruby-dev:38202] e$B$N%1!<%9$r5_$$$?$$$G$9!#e(B

e$B$=$N2r7h$K$h$kMxE@$O!"8_49@-$rB;$J$&$3$H$r4^$`7gE@$h$j$bBg$-e(B
e$B$J$b$N$G$9$+e(B?

e$BA0$+$iM}2r$G$-$J$$$N$G8@5Z$7$F$3$J$+$C$?$o$1$G$9$,!"$=$NBg$-$5$C$F$N$O$I$&$d$Ce(B
e$B$FDjNLE*$KI>2A$9$k$s$G$9$+e(B?e$BBg$-$5$rHf3S$9$k$K$ONLE*$JI>2A$,$G$-$J$$$3$H$K$OIT2De(B
e$BG=$@$H;W$$$^$9!#e(B

Tanaka A. e$B$5$s$O=q$-$^$7$?e(B:

e$B@UG$$J$i!"$=$l$O$=$l$GL@3N$G$O$J$$$G$9$+e(B?

e$B$=$l$K<:GT$7$?$ie(B time_t e$B$NHO0O30$H$$$&Nc30$,=P$k$o$1$G$9$7!#e(B

e$B$3$3$^$G$^$H$a$FJVEz$7$^$9$,!"A[Dj$7$F$$$k$N$Oe(BFileUtils.touche$B$N$h$&$J!"e(B
File.utimee$B$X$N%i%C%Q!<%i%$%V%i%j$G$9!#e(BFileUtils.touche$B$Oe(BFile.utimee$B$,<u$1IU$1$J$$e(B
e$B$h$&$J0z?t$O<u$1IU$1$?$/$J$$$o$1$G$9!#$H$3$m$,!"EDCf$5$s$N%Q%C%A$rEv$F$k$He(B

/usr/lib/ruby/1.9.2/fileutils.rb:1033:in utime': time out of system range (ArgumentError) from /usr/lib/ruby/1.9.2/fileutils.rb:1033:inblock in touch’
from /usr/lib/ruby/1.9.2/fileutils.rb:1030:in each' from /usr/lib/ruby/1.9.2/fileutils.rb:1030:intouch’
from -e:1

e$B$J$I$H$$$&%(%i!<$,=P$^$9$Me(B?e$B$3$l$G$OCN$i$J$$?M$,8+$l$Pe(BFileUtilse$B$K%P%0$,$"$k$h$&e(B
e$B$K8+$($k$o$1$G$9!#e(BFileUtilse$B$NB&$H$7$F$O!“e(BFileUtilse$B$O0-$/$J$$$o$1$G$9$+$i!”$3$Ne(B
e$B$h$&$J%P%C%/%H%l!<%9$rI=<($;$:$K!"$J$k$J$i$b$C$H<jA0$N$H$3$m$GNc30$K$J$C$F$[$7e(B
e$B$$!#$D$^$j!"$3$NNc$G8@$($Pe(B

-e:1:in `new’: time out of range (ArgumentError)
from -e:1

e$B$H$+$=$s$J46$8$K$J$C$F$[$7$$$o$1$G$9!#e(B

utimee$B$ND>8e$Ke(Bfstate$B$G3NG’$9$k$H$+!#$$$d$b$A$m$s6%9g>uBV$G$&$^$/$$$+$J$$$N$OM}2re(B
e$B$G$-$^$9$N$G!"Fq$7$=$&$+$J$H$O;W$$$^$9$,!#e(B

GNU/Linux e$B$Ge(B VFAT e$B$J%U%!%$%k%7%9%F%`$re(B mount e$B$7$Fe(B
e$B$"$k%U%!%$%k$re(B 1970-01-01 e$B$Ke(B File.utime e$B$9$k$H!"<:GT$7$J$$$7!“e(B
stat e$B$9$k$H@_Dj$G$-$?$h$&$K8+$($k$s$@$1$I!”%^%&%s%H$7D>$9$He(B
1980-01-01 e$B$K$J$C$F$$$k$H$$$&8=>]$r8+$D$1$F$7$^$$$^$7$?!#e(B

stat e$B$7$F$b<B:]$K$J$K$,5/$-$F$$$k$N$+$O$o$+$i$J$$$h$&$G$9!#e(B

e$B$=$l$O;d$NM}2r$H$O0c$$$^$9$M!#e(Bfstate$B$,@.8y$7$F0U?^$7$?CM$,JV$C$F$/$k$J$i!"$=$l$Oe(B
[email protected]$7$F$$$^$9!#$=$N8e$NCM$,J]>Z$5$l$J$$$N$O!"$?$H$($PB>$N%f!<%6!<$,2#$+e(B
e$B$ie(Btouche$B$7$?$j!"$$$/$i$G$bO.$k$3$H$O2DG=$J$3$H$+$i$bL@$+$G$9!#$=$b$=$be(BVFATe$B$8$c$Je(B
e$B$/$F$be(Bumounte$B$7$?;~E@$G!"%G%#%9%/H4$$$FB>$N%^%7%s$Ge(Bmounte$B$7$F99?7;~9oO.$C$F$k$+$be(B
e$B$7$l$J$$$8$c$J$$$G$9$+!#e(B
utimee$B$O$"$/$^$G@Dj$7$?=V4V0J9$NCM$OJ]>Z$7$F$$$J$$$O$:$H;W$$$^$9!#e(B

e$B%i%$%V%i%jB&$+$i$+$i8+$k$H!"%"%W%j%1!<%7%g%s$+$iEO$5$l$?e(B
Time e$B%*%V%8%’%/%H$r$=$N$^$^e(B File.utime e$B$KEO$7$F$$$k8B$j!"$=e(B
e$B$N%(%i!<%a%C%;!<%8$O30It$NLdBj$G$"$k$3$H$rL@$i$+$K<($7$F$$$ke(B
e$B$N$G$=$N;]$r=R$Y$F%P%0%l%]!<%H$r5Q2<$9$l$P$$$$$N$G$O$J$$$G$7$ge(B
e$B$&$+!#e(B

e$B%P%0%l%]!<%H$,2?2s$b2?2s$bMh$k$3$H$r9M$($F$/$@$5$$!#e(B
e$B%i%$%V%i%j$N:n<T$O0l?M$N$3$H$,B?$$$G$9$,!"%f!<%6!<$OIaDL!“0l?M$h$jB?$$$G$9!#2?e(B
e$B2s5Q2<$7$F$bF1$8%P%0$,<!!9$HJL$N?M$+$iJs9p$5$l$k$3$H$O$”$j$^$9!#!V<+J,$N$;$$e(B
e$B$8$c$J$$%P%0Js9p$G%b%A%Y!<%7%g%s$,:o$,$l!W$H$O!"$=$&$$$&>u67$r;X$7$F$$$^$9!#e(B

e$B$=$N2r7h$K$h$kMxE@$O!“8_49@-$rB;$J$&$3$H$r4^$`7gE@$h$j$bBg$-e(B
e$B$J$b$N$G$9$+e(B?
e$BA0$+$iM}2r$G$-$J$$$N$G8@5Z$7$F$3$J$+$C$?$o$1$G$9$,!”$=$NBg$-$5$C$F$N$O$I$&$d$Ce(B
e$B$FDjNLE*$KI>2A$9$k$s$G$9$+e(B?e$BBg$-$5$rHf3S$9$k$K$ONLE*$JI>2A$,$G$-$J$$$3$H$K$OIT2De(B
e$BG=$@$H;W$$$^$9!#e(B

File.utime e$B$,e(B Time e$B%*%V%8%’%/%H$r<u$1IU$1$J$/$J$k$H!"e(B
e$B$$$^$^$Ge(B File.utime e$B$Ke(B Time e$B$rEO$7$F$$$?$9$Y$F$N%3!<%I$GLdBje(B
e$B$,5/$-$^$9!#e(B

e$B$=$l$KBP$7$F!"e(BFile.utime e$B$,!“e(Btime_t e$B$NHO0O30$Ne(B Time e$B%*%V%8%'e(B
e$B%/%H$r<u$1IU$1$J$$$H$$$&$N$O!”$9$Y$F$h$j$O>/$J$$%3!<%I$G$7$+e(B
e$BLdBj$,5/$-$J$$$G$7$g$&!#e(B

e$B$3$N?dB,$K$O;d$O;?@.$bH?BP$b$G$-$^$;$s!#e(B
e$B2a5n!“e(BTimee$B$,e(Btime_te$B$NHO0O$r30$l$?$3$H$,$J$$$N$G!”$=$N$h$&$J%1!<%9$,B?$$$+>/$J$$e(B
e$B$+$OM=B,IT2DG=$@$H;W$$$^$9!#e(B
e$BFC$Ke(BTime.nowe$B$,e(B2038e$BG/$K6a$E$/$H$=$N$h$&$J%1!<%9$OA}$($k$N$G$O$J$$$+$H8D?ME*$K$Oe(B
e$B4mW|$7$F$$$^$9!#e(B

e$BKNIt$5$s$,5_$$$?$$$H$$$&$N$O8e<T$K4X$9$kOC$G$9$,!"$=$l$OA0<Te(B
e$B$NLdBj$h$j$O>/$J$$$G$7$g$&!#e(B

e$B$7$?$,$C$FDjNLE*I>2A$O$3$NItJ,$K$3$=M_$7$+$C$?$N$G$9$,!#e(B

e$B$^$?!“e(BFile.utime e$B$,$J$s$i$+$NHO0O30$G$&$^$/F0$+$J$$$H$$$&0Ue(B
e$BL#$G!”;w$?LdBj$Oe(B 64bit time_t e$B$Ge(B NFSv3 e$B$H$+e(B GNU/Linux e$B$Ge(B
VFAT e$B$H$+4{$K$"$k$N$G!"$=$3$+$i$NN?d$b2DG=$G$9!#e(BML e$B$N2a5n$Ne(B e$B%a!<%k$r8!:w$7$F$bHO0O30$NLdBj$HL@3N$K$o$+$k$b$N$O$"$j$^$;$se(B e$B$G$7$?!#$3$l$+$iN?d$9$k$HLdBj$ONc30E*$JOC$K$*$5$^$k$G$7$g$&!#e(B

Rubye$B$N>l9g!"e(Btime_te$B$NHO0O30$Ne(BTimee$B%*%V%8%’%/%H$O$3$l$^$G@8@.$G$-$J$+$C$?$N$G!"e(BML
e$B$r8!:w$7$F$bLdBj$,Js9p$5$l$F$$$J$$$N$O<+L@$H;W$$$^$9!#e(B

  • lang:ruby File.utime e$B$,e(B 924e$B7oe(B
    e$B$H$$$&?t$K$J$k$3$H$+$i$bN"IU$1$i$l$^$9!#e(BTime e$B8!:w7k2L$,$9$Ye(B
    e$B$Fe(B Time e$B%/%i%9$r;X$7$F$$$k$o$1$G$O$J$$$G$7$g$&$,!"$3$l$@$1$Ne(B
    e$B:9$,$"$l$P!"e(BTime e$B%/%i%9$,$:$$$V$s$HB?$$$N$O3N$+$G$7$g$&!#e(B
    (e$B<B:]!"8!:w7k2L$rD/$a$k$H!"e(B1/100 e$B$h$j$O$:$$$V$s$HBg$-$J3d9ge(B
    e$B$Ge(B Time e$B%/%i%9$r;H$&%3!<%I$,%R%C%H$7$F$$$^$9e(B)

e$B=>$C$F!"$"$kJQ99$K$h$C$F!“e(BFile.utime e$B$K;H$&$H$-$N7gE@$H$=$le(B
e$B0J30$G$NMxE@$,N>J}$”$C$?>l9g!"<B:]$K;H$&2s?t$r9M$($k$H!"MxE@e(B
e$B$N$[$&$,$:$C$HB?$/$J$k$3$H$,?dB,$G$-$^$9!#e(B

e$B$=$&$G$9$+!#e(BTimee$B$r;H$&%1!<%9$,B?$$$N$OJ,$+$j$^$7$?!#e(B

In article [email protected],
Urabe S. [email protected] writes:

e$B$J$k$[$I!#8!::%a%=%C%I$H$$$&I=8=$+$i=R8l%a%=%C%I$rA[A|$7$F$$$^$7$?$,!“Nc30$rH/e(B
e$B@8$9$k%a%=%C%I$G$”$l$P$"$j$+$b$7$l$J$$$H;W$$$^$9!#e(B

e$B$"$H$+$i$b$&$R$H$D$N2DG=@-$r9M$($D$-$^$7$?!#e(B

e$B$b$7$+$7$F!"KNIt$5$s$,A[Dj$9$ke(B TypeError e$B$H$$$&$N$O!"e(B
File.utime e$B$,H/@8$9$k$b$N$@$C$?$j$7$^$;$s$+e(B?

File.utime e$B$,H/@8$9$kNc30$K$D$$$F$O!“%5%V%/%i%9$r:n$i$J$/$Fe(B
e$B$b!V;~9o$,e(B time_t e$B$NHO0O30$G$”$k!W$H$$$&%a%C%;!<%8$GNc30$rH/e(B
e$B@8$9$k$N$O4JC1$@$7!"$=$&$9$Y$-$@$H;W$$$^$9!#e(B

e$BMxE@$,$J$$$s$G$7$g$&$+!#%i%$%V%i%j:n<T$,@UG$HO0O$rL@3N$K$G$-$k$N$OMxE@$G$O$J$$e(B
e$B$G$9$+$M!#$=$l$,%"%W%j%1!<%7%g%s3+H/<T$NIT9,$K7R$,$k$+$OJ,$+$j$^$;$s$,!#e(B

e$B$I$&L@3N$K$J$k$s$G$7$g$&e(B?

File.utime e$B$KEO$9;~9o$r0z?t$K;XDj$9$k$N$,%“%W%j%1!<%7%g%s$Ne(B
e$B@UG$$J$i!”$=$l$O$=$l$GL@3N$G$O$J$$$G$9$+e(B?

e$B$=$l$K<:GT$7$?$ie(B time_t e$B$NHO0O30$H$$$&Nc30$,=P$k$o$1$G$9$7!#e(B

utimee$B$ND>8e$Ke(Bfstate$B$G3NG’$9$k$H$+!#$$$d$b$A$m$s6%9g>uBV$G$&$^$/$$$+$J$$$N$OM}2re(B
e$B$G$-$^$9$N$G!"Fq$7$=$&$+$J$H$O;W$$$^$9$,!#e(B

GNU/Linux e$B$Ge(B VFAT e$B$J%U%!%$%k%7%9%F%`$re(B mount e$B$7$Fe(B
e$B$“$k%U%!%$%k$re(B 1970-01-01 e$B$Ke(B File.utime
e$B$9$k$H!”<:GT$7$J$$$7!“e(B
stat e$B$9$k$H@_Dj$G$-$?$h$&$K8+$($k$s$@$1$I!”%^%&%s%H$7D>$9$He(B
1980-01-01 e$B$K$J$C$F$$$k$H$$$&8=>]$r8+$D$1$F$7$^$$$^$7$?!#e(B

stat e$B$7$F$b<B:]$K$J$K$,5/$-$F$$$k$N$+$O$o$+$i$J$$$h$&$G$9!#e(B

[ruby-dev:38202] e$B$N%1!<%9$r5_$$$?$$$G$9!#e(B

e$BFI$D>$7$F$$^$7$?!#e(B

touch e$B%/%m!<%s$G$“$l$P!”%3%^%s%I%i%$%s0z?t2r<a4o$,@8@.$7$?e(B
Time e$B%%V%8%'%/%H$,$=$N$^$^e(B File.utime e$B$^$G$?$I$j$D$/$G$7$ge(B
e$B$&$+$i!“e(BFile.utime e$B$,!Ve(Btime_t
e$B$NHO0O30$G$”$k!W$H$$$&%a%C%;!<e(B
e$B%8$G<:GT$9$l$P!"e(BTime e$B%
%V%8%'%/%H$r@8@.$7$?!"e(Btouch
e$B%/%m!<%se(B
e$B$N:n<T$,LdBj$r8+$D$1$k$N$OJL$KFq$7$/$J$$$N$G$O$J$$$G$7$g$&$+!#e(B

e$B%i%$%V%i%jB&$+$i$+$i8+$k$H!“%”%W%j%1!<%7%g%s$+$iEO$5$l$?e(B
Time e$B%*%V%8%'%/%H$r$=$N$^$^e(B File.utime e$B$KEO$7$F$$$k8B$j!“$=e(B
e$B$N%(%i!<%a%C%;!<%8$O30It$NLdBj$G$”$k$3$H$rL@$i$+$K<($7$F$$$ke(B
e$B$N$G$=$N;]$r=R$Y$F%P%0%l%]!<%H$r5Q2<$9$l$P$$$$$N$G$O$J$$$G$7$ge(B
e$B$&$+!#e(B

e$B$=$N2r7h$K$h$kMxE@$O!"8_49@-$rB;$J$&$3$H$r4^$`7gE@$h$j$bBg$-e(B
e$B$J$b$N$G$9$+e(B?

e$BA0$+$iM}2r$G$-$J$$$N$G8@5Z$7$F$3$J$+$C$?$o$1$G$9$,!"$=$NBg$-$5$C$F$N$O$I$&$d$Ce(B
e$B$FDjNLE*$KI>2A$9$k$s$G$9$+e(B?e$BBg$-$5$rHf3S$9$k$K$ONLE*$JI>2A$,$G$-$J$$$3$H$K$OIT2De(B
e$BG=$@$H;W$$$^$9!#e(B

File.utime e$B$,e(B Time e$B%*%V%8%'%/%H$r<u$1IU$1$J$/$J$k$H!"e(B
e$B$$$^$^$Ge(B File.utime e$B$Ke(B Time
e$B$rEO$7$F$$$?$9$Y$F$N%3!<%I$GLdBje(B
e$B$,5/$-$^$9!#e(B

e$B$=$l$KBP$7$F!"e(BFile.utime e$B$,!“e(Btime_t e$B$NHO0O30$Ne(B Time
e$B%*%V%8%'e(B
e$B%/%H$r<u$1IU$1$J$$$H$$$&$N$O!”$9$Y$F$h$j$O>/$J$$%3!<%I$G$7$+e(B
e$BLdBj$,5/$-$J$$$G$7$g$&!#e(B

e$BKNIt$5$s$,5_$$$?$$$H$$$&$N$O8e<T$K4X$9$kOC$G$9$,!"$=$l$OA0<Te(B
e$B$NLdBj$h$j$O>/$J$$$G$7$g$&!#e(B

e$B$^$?!“e(BFile.utime e$B$,$J$s$i$+$NHO0O30$G$&$^$/F0$+$J$$$H$$$&0Ue(B
e$BL#$G!”;w$?LdBj$Oe(B 64bit time_t e$B$Ge(B NFSv3 e$B$H$+e(B GNU/Linux
e$B$Ge(B
VFAT e$B$H$+4{$K$“$k$N$G!”$=$3$+$i$NN?d$b2DG=$G$9!#e(BML e$B$N2a5n$Ne(B e$B%a!<%k$r8!:w$7$F$bHO0O30$NLdBj$HL@3N$K$o$+$k$b$N$O$"$j$^$;$se(B e$B$G$7$?!#$3$l$+$iN?d$9$k$HLdBj$ONc30E*$JOC$K$*$5$^$k$G$7$g$&!#e(B

e$B$"$H!“A0$+$i!”$H$$$&$3$H$J$N$G!"e(BTime e$B$r3HBg$9$kMxE@$He(B
e$B$=$l$K$h$ke(B File.utime e$B$KBP$9$k7gE@$NHf3S$K$D$$$F$b?($l$F$*$-e(B
e$B$^$9!#e(B

e$BMxE@$N$[$&$,Bg$-$$$H;d$,9M$($k$N$O!"e(BTime e$B$r;H$&%1!<%9$He(B
File.utime e$B$r;H$&%1!<%9$GA0<T$,$:$C$HB?$$$H$$$&7P83$+$iMh$Fe(B
e$B$$$^$9!#e(B

e$B$3$N$3$H$O!"e(BGoogle Code Seach e$B$G8!:w$9$k$He(B

  • lang:ruby Time e$B$,Lse(B230,000e$B7oe(B
  • lang:ruby File.utime e$B$,e(B 924e$B7oe(B
    e$B$H$$$&?t$K$J$k$3$H$+$i$bN"IU$1$i$l$^$9!#e(BTime e$B8!:w7k2L$,$9$Ye(B
    e$B$Fe(B Time e$B%/%i%9$r;X$7$F$$$k$o$1$G$O$J$$$G$7$g$&$,!“$3$l$@$1$Ne(B
    e$B:9$,$”$l$P!"e(BTime e$B%/%i%9$,$:$$$V$s$HB?$$$N$O3N$+$G$7$g$&!#e(B
    (e$B<B:]!"8!:w7k2L$rD/$a$k$H!"e(B1/100 e$B$h$j$O$:$$$V$s$HBg$-$J3d9ge(B
    e$B$Ge(B Time e$B%/%i%9$r;H$&%3!<%I$,%R%C%H$7$F$$$^$9e(B)

e$B=>$C$F!“$”$kJQ99$K$h$C$F!“e(BFile.utime e$B$K;H$&$H$-$N7gE@$H$=$le(B
e$B0J30$G$NMxE@$,N>J}$”$C$?>l9g!"<B:]$K;H$&2s?t$r9M$($k$H!"MxE@e(B
e$B$N$[$&$,$:$C$HB?$/$J$k$3$H$,?dB,$G$-$^$9!#e(B

In article [email protected],
Urabe S. [email protected] writes:

e$B$J$I$H$$$&%(%i!<$,=P$^$9$Me(B?e$B$3$l$G$OCN$i$J$$?M$,8+$l$Pe(BFileUtilse$B$K%P%0$,$“$k$h$&e(B
e$B$K8+$($k$o$1$G$9!#e(BFileUtilse$B$NB&$H$7$F$O!“e(BFileUtilse$B$O0-$/$J$$$o$1$G$9$+$i!”$3$Ne(B
e$B$h$&$J%P%C%/%H%l!<%9$rI=<($;$:$K!”$J$k$J$i$b$C$H<jA0$N$H$3$m$GNc30$K$J$C$F$[$7e(B
e$B$$!#$D$^$j!"$3$NNc$G8@$($Pe(B

-e:1:in `new’: time out of range (ArgumentError)
from -e:1

e$B$H$+$=$s$J46$8$K$J$C$F$[$7$$$o$1$G$9!#e(B

e$B$=$&$9$k$H$o$+$i$J$$$N$,!“$J$<KNIt$5$s$,%5%V%/%i%9$rDs0F$9$ke(B
e$B$N$+!”$H$$$&$3$H$G$9!#e(B

File.utime e$B$,e(B Time e$B$r<u$1IU$1$J$$$h$&$K$7$F$b!"%P%C%/%H%l!<e(B
e$B%9$K$Oe(B fileutils e$B$,0MA3$H$7$F=P$F$-$^$9$h$M!#e(B

e$B%5%V%/%i%9$O2?$r2r7h$9$k$s$G$9$+e(B?

e$B$=$l$O;d$NM}2r$H$O0c$$$^$9$M!#e(Bfstate$B$,@.8y$7$F0U?^$7$?CM$,JV$C$F$/$k$J$i!“$=$l$Oe(B
[email protected]$7$F$$$^$9!#$=$N8e$NCM$,J]>Z$5$l$J$$$N$O!”$?$H$($PB>$N%f!<%6!<$,2#$+e(B
e$B$ie(Btouche$B$7$?$j!“$$$/$i$G$bO.$k$3$H$O2DG=$J$3$H$+$i$bL@$+$G$9!#$=$b$=$be(BVFATe$B$8$c$Je(B
e$B$/$F$be(Bumounte$B$7$?;~E@$G!”%G%#%9%/H4$$$FB>$N%^%7%s$Ge(Bmounte$B$7$F99?7;~9oO.$C$F$k$+$be(B
e$B$7$l$J$$$8$c$J$$$G$9$+!#e(B
utimee$B$O$"$/$^$G@Dj$7$?=V4V0J9$NCM$OJ]>Z$7$F$$$J$$$O$:$H;W$$$^$9!#e(B

e$BB>$G$$$8$C$F$$$k$b$N$,$“$k$+$b$7$l$J$$$7!”$J$$$+$b$7$l$^$;$s!#e(B
e$B$=$l$O30It$N>u67$K0MB8$7$^$9!#e(B

e$B;d$,%F%9%H$7$?>u67$G$O!“;d$,A4BN$K$D$$$F4IM}$7$F$$$F!”$=$&$$e(B
e$B$&B>$+$i$$$8$C$F$$$?$b$N$,$J$+$C$?$3$H$OJ]>Z$G$-$^$9!#e(B

e$B$J$*!“e(Bunmount e$B$7$J$/$F$b!”$7$P$i$/$9$k$He(B 1970 e$B$+$ie(B
1980 e$B$KJQe(B
e$B2=$7$F$$$k$H$$$&8=>]$b3NG’$7$^$7$?!#e(B

e$B;d$,$3$3$G$&$^$/$$$/$H=R$Y$?0UL#$O!“0U?^$7$?;~9o$,e(B
atime/mtime e$B$H$7$F%U%!%$%k%7%9%F%`$K5-O?$5$l$k!”$H$$$&$3$H$Ge(B
e$B$9!#$3$l$O%f!<%6$N0U?^$K6a$$A[Dj$@$H;W$$$^$9!#e(B

e$BCfED$5$s$N%a!<%k$K$b$“$k$h$&$K!”%U%!%$%k%7%9%F%`$,e(B
1970-01-01 e$B$H$$$&F|IU$rI=8=$G$-$J$$$N$G!";d$,=R$Y$?0UL#$G$&e(B
e$B$^$/$$$/$H$$$&$3$H$O$J$$$G$7$g$&!#e(B

e$B%P%0%l%]!<%H$,2?2s$b2?2s$bMh$k$3$H$r9M$($F$/$@$5$$!#e(B
e$B%i%$%V%i%j$N:n<T$O0l?M$N$3$H$,B?$$$G$9$,!“%f!<%6!<$OIaDL!“0l?M$h$jB?$$$G$9!#2?e(B
e$B2s5Q2<$7$F$bF1$8%P%0$,<!!9$HJL$N?M$+$iJs9p$5$l$k$3$H$O$”$j$^$9!#!V<+J,$N$;$$e(B
e$B$8$c$J$$%P%0Js9p$G%b%A%Y!<%7%g%s$,:o$,$l!W$H$O!”$=$&$$$&>u67$r;X$7$F$$$^$9!#e(B

File.utime e$B$K4X$9$k$b$N$,A}$($k0J>e$K!"e(BTime e$B<+?H$N@)Ls$K5/0xe(B
e$B$9$k%P%0%l%]!<%H$,8:$k$3$H$r?dB,$7$F$$$^$9!#e(B

e$B$H$j$"$($:$U$J$P$5$s$N%b%A%Y!<%7%g%s$,:o$,$l$k$3$H$O8:$k$s$8$ce(B
e$B$J$$$G$7$g$&$+!#e(B

e$B$+$OM=B,IT2DG=$@$H;W$$$^$9!#e(B
e$BFC$Ke(BTime.nowe$B$,e(B2038e$BG/$K6a$E$/$H$=$N$h$&$J%1!<%9$OA}$($k$N$G$O$J$$$+$H8D?ME*$K$Oe(B
e$B4mW|$7$F$$$^$9!#e(B

e$B>e5-$N5-=R$O!“e(Btime_t e$B$NHO0OFb$HHO0O30$rHf$Y$?$b$N$G$O$”$j$^e(B
e$B$;$s!#e(B

e$B!V$9$Y$F!W$9$J$o$A!VHO0OFb$HHO0O30$rN>J}$"$o$;$?$b$N!W$He(B
e$BHO0O30$NItJ,$rHf$Y$?$b$N$G$9!#e(B

e$B$3$NHf3S$GHO0O30$N$[$&$,>/$J$$$N$O<+L@$G$7$g$&!#e(B

e$BKNIt$5$s$,5_$$$?$$$H$$$&$N$O8e<T$K4X$9$kOC$G$9$,!"$=$l$OA0<Te(B
e$B$NLdBj$h$j$O>/$J$$$G$7$g$&!#e(B

e$B$7$?$,$C$FDjNLE*I>2A$O$3$NItJ,$K$3$=M_$7$+$C$?$N$G$9$,!#e(B

File.utime e$B$,e(B Time e$B%*%V%8%'%/%H$r<u$1IU$1$J$$$H$$$&$N$Oe(B
time_t e$B$NHO0OFb$+HO0O30$+$K$+$+$o$i$:LdBj$,5/$-$^$9!#e(B

e$B$=$l$KBP$7$F!"e(BFile.utime e$B$,e(B Time
e$B%*%V%8%'%/%H$r<u$1IU$1$l$P!"e(B
e$BLdBj$,5/$3$k$N$OHO0O30$N$H$-$@$1$G$9!#e(B

e$BEvA3!"8e<T$N$[$&$,>/$J$$$G$7$g$&!#e(B

e$B$^$?!“e(BFile.utime e$B$,$J$s$i$+$NHO0O30$G$&$^$/F0$+$J$$$H$$$&0Ue(B
e$BL#$G!”;w$?LdBj$Oe(B 64bit time_t e$B$Ge(B NFSv3 e$B$H$+e(B GNU/Linux e$B$Ge(B
VFAT e$B$H$+4{$K$“$k$N$G!”$=$3$+$i$NN?d$b2DG=$G$9!#e(BML e$B$N2a5n$Ne(B e$B%a!<%k$r8!:w$7$F$bHO0O30$NLdBj$HL@3N$K$o$+$k$b$N$O$"$j$^$;$se(B e$B$G$7$?!#$3$l$+$iN?d$9$k$HLdBj$ONc30E*$JOC$K$*$5$^$k$G$7$g$&!#e(B

Rubye$B$N>l9g!"e(Btime_te$B$NHO0O30$Ne(BTimee$B%*%V%8%'%/%H$O$3$l$^$G@8@.$G$-$J$+$C$?$N$G!"e(BML
e$B$r8!:w$7$F$bLdBj$,Js9p$5$l$F$$$J$$$N$O<+L@$H;W$$$^$9!#e(B

e$B$3$3$G;d$,=R$Y$?!V$J$s$i$+$NHO0O30!W$H$$$&$N$Oe(B time_t e$B$NHO0Oe(B
e$B$r30$l$k$3$H$G$O$“$j$^$;$s!#%U%!%$%k%7%9%F%$,I=8=$G$-$kHO0Oe(B e$B$r30$l$k$3$H$G$9!#$3$l$O8=:_$G$bLdBj$,5/$3$j$&$k$b$N$G$9!#$=e(B e$B$7$F!"$I$A$i$NHO0O$b;XDj$G$-$k;~9o$r@)Ls$9$k$b$N$G$"$k$3$H$+e(B e$B$iN?d$,2DG=$G$”$m$&!"$H$$$&<gD%$G$9!#e(B

e$B$J$+$@$G$9!#e(B

At Sun, 5 Apr 2009 07:18:52 +0900,
Urabe S. wrote in [ruby-dev:38275]:

e$B$J$I$H$$$&%(%i!<$,=P$^$9$Me(B?e$B$3$l$G$OCN$i$J$$?M$,8+$l$Pe(BFileUtilse$B$K%P%0$,$"$k$h$&e(B
e$B$K8+$($k$o$1$G$9!#e(BFileUtilse$B$NB&$H$7$F$O!“e(BFileUtilse$B$O0-$/$J$$$o$1$G$9$+$i!”$3$Ne(B
e$B$h$&$J%P%C%/%H%l!<%9$rI=<($;$:$K!"$J$k$J$i$b$C$H<jA0$N$H$3$m$GNc30$K$J$C$F$[$7e(B
e$B$$!#$D$^$j!"$3$NNc$G8@$($Pe(B

-e:1:in `new’: time out of range (ArgumentError)
from -e:1

e$B$H$+$=$s$J46$8$K$J$C$F$[$7$$$o$1$G$9!#e(B

Time.newe$B$,@.8y$7$?$+$i$H$$$C$Fe(BFile.utimee$B$K<u$1IU$1$i$l$k$H$$$&J]e(B
e$B>Z$O85!9$"$j$^$;$s!#$?$H$($Pe(BWindowse$BHG$G$Oe(BVFATe$B>e$N%U%!%$%k$Ke(B1980
e$BG/$h$j$bA0$N%?%$%`%9%?%s%W$r$D$1$h$&$H$9$k$He(B

$ ./ruby -v -e ‘t = Time.at(0); p File.utime(t, t, “f:/foo”)’
ruby 1.8.7p5000 (2009-02-24 ruby_1_8 22592) [i386-mswin32]
-e:1:in `utime’: Invalid argument - f:/foo (Errno::EINVAL)
from -e:1

e$B$N$h$&$K%(%i!<$K$J$j$^$9!#$3$N%a%C%;!<%8<+BN$,$"$^$j$h$m$7$/$J$$e(B
e$B$H$$$&$3$H$K$OF10U$7$^$9$,!#e(B

e$B%U%!%$%k%7%9%F%>e$N;~9oI=8=$O%U%!%$%k%7%9%F%$K$h$C$F0[$J$k$b$Ne(B
e$B$G$"$j!“I,$:$7$be(Btime_te$B$H0lCW$9$k$H$O8B$j$^$;$s$7!”<B:]$K;n$7$F$_e(B
e$B$k$^$G$OI=8=2DG=$JHO0O$+$I$&$+$bJ,$+$i$J$$$o$1$G$9!#$H$$$&$3$H$G!"e(B
File.utimee$B$@$1$rM}M3$Ke(BTimee$B$K@)8B$r2]$9$kI,MW$O$J$$$H;W$$$^$9!#e(B

In article [email protected],
Nobuyoshi N. [email protected] writes:

e$B$H$$$&$3$H$K$OF10U$7$^$9$,!#e(B
e$B$&$%$`!#$=$&$9$k$He(B [ruby-talk:254456]
e$B$O$=$&$$$&HO0O30$NOC$@$Ce(B
e$B$?$N$+$bCN$l$^$;$s!#e(B

[ruby-talk:254562] e$B$GH]Dj$5$l$F$?$N$G0c$&$N$@$m$&$H;W$C$F$$e(B
e$B$?$N$G$9$,!#e(B

In article [email protected],
Yukihiro M. [email protected] writes:

Yuguie$B$5$s!"$I$&;W$$$^$9$+!)e(B

e$B=<J,$K5DO@$7$?$H;W$&$N$GF~$l$?$$$s$G$9$,$I$&$7$^$7$g$&$+!#e(B

yugui e$B$5$se(B?

2009/04/18 15:02 Tanaka A. [email protected]:

e$B=<J,$K5DO@$7$?$H;W$&$N$GF~$l$?$$$s$G$9$,$I$&$7$^$7$g$&$+!#e(B

Timee$B$N9=B$BN$rD>@?($ke(BAPIe$B$,$J$$$H$$$&$3$H$J$i!“$3$N$^$^JQ99$7$FNI$$$N$G$O$J$$$G$7$g$&$+!#9=B$BN$r>!<j$K$$$8$k0-$$;R$,$I$l$/$i$$$$$k$+$O!”%3%_%C%H$7$F$$$?$@$$$F$+$i!V$.$c$C!W$H$$$&@<$G7W$j$^$7$g$&!#e(B

e$B$3$H$K$h$k$He(Bruby_1_9e$B%V%i%s%A$^$?$Oe(Bruby_1_9_2e$B%V%i%s%A$re(Bforke$B$7$?;~E@$Ge(Btimee$B$N<BAu$re(Breverte$B$7$J$$$H9T$1$J$$$+$b$7$l$^$;$s$,!"$=$N2DG=@-$ODc$$$H9M$($F$$$^$9!#8=CJ3,$Ge(Btrunke$B$K%3%_%C%H$7$F$$$?$@$/$3$H$K$O;?@.$G$9!#e(B