DateTime.new! and DateTime.jd

$B$3$s$K$A$O!"%"!<%m%s$G$9!#(B

$B0JA0!“F1$8LdBj$r(Bruby-core $B08$K%a!<%k$r=P$7$?$N$G$9$,!”(B
$BJVEz$,$J$+$C$?$N$GBT$A$-$l$:$K!"$b$&0lEYO"Mm$5$;$FD:$-$^$9!#(B<3 <3

1.9.3$B$N%j%j!<%9%V%i%s%A$,:n$i$l$kM=DjF|!J;d$K$OJs9p$5$l$F$$$^$;$s!K$,Gw$C$F$$$^$9!#(B
$B$7$+$7!"(BRails$B$K$"$k#2$D$N(Bblocker$B$,Bg$-$JLdBj$H$7$FB8:_$9$k$N$G0l9o$bAa$/=$@5$9$kI,MW$,$"$j$^$9!#(B

Blocker$B$O0J2<$NDL$j!#(B

  • [ruby-core:36444]
  • [ruby-core:36802]

$B$3$NLdBj$N$;$$$G!"(Brails
tests$B$,:nF0$7$J$$$N$G;d$O$3$l0J>e@h$K?J$a$^$;$s!#(B
1.9.3$B%j%j!<%9A0$K$I$A$i$+0l$D$N(Bblocker$B$,=$@5$5$l$l$P$R$H$^$:$OLdBj$J$$$H;W$$$^$9!#(B

2011/6/7 Aaron P. [email protected]:

1.9.3$B$N%j%j!<%9%V%i%s%A$,:n$i$l$kM=DjF|!J;d$K$OJs9p$5$l$F$$$^$;$s!K$,Gw$C$F$$$^$9!#(B

$B$7$+$7!“(BRails$B$K$”$k#2$D$N(Bblocker$B$,Bg$-$JLdBj$H$7$FB8:_$9$k$N$G0l9o$bAa$/=$@5$9$kI,MW$,$"$j$^$9!#(B
blocker$B$O(BRails$B$N%j%j!<%9$rK8$2$k!$$H$$$&$3$H(B?

$B$3$NLdBj$N$;$$$G!"(Brails
tests$B$,:nF0$7$J$$$N$G;d$O$3$l0J>e@h$K?J$a$^$;$s!#(B
rails $B$,(B 1.9.3 $B$G%F%9%H$G$-$J$$$H(B rails
$B$r%j%j!<%9$G$-$J$$$H$$$&$3$H$+$J!%(B

blocker $B$O$*A0$@$m!#(B
$B$^$@!"%j%j!<%9$5$l$F$b$$$J$$(B 1.9.3 $B$,(B rails
$B$K$I$s$J@UG$$,$"$k$C$F$s$@$h!#(B
$B26$,$_$?$H$3$m$I$C$A$b(B date $B$N%P%0$8$c$J$$$+$i0B?4$7$m!#(B

$B$^$D$b$H(B $B$f$-$R$m$G$9(B

In message “Re: [ruby-dev:43647] Re: DateTime.new! and DateTime.jd”
on Tue, 7 Jun 2011 19:50:33 +0900, Tadayoshi F. [email protected]
writes:

|$B$^$@!“%j%j!<%9$5$l$F$b$$$J$$(B 1.9.3 $B$,(B rails
$B$K$I$s$J@UG$$,$”$k$C$F$s$@$h!#(B
|$B26$,$_$?$H$3$m$I$C$A$b(B date $B$N%P%0$8$c$J$$$+$i0B?4$7$m!#(B

$B$&!<$s!“$?$@$G$5$(F|1Q$N%3%_%e%K%1!<%7%g%s>cJI$,$”$k$N$K!“$h(B
$B$1$$$K$”$*$k$h$&$J8@MU8/$$$OI432$"$C$F0lMx$J$7$@$H;W$&$N$G$9(B
$B$,!#LdBj$,2r7h$7$J$$$N$K!V0B?4$7$m!W$H$$$C$F$b@hJ}$OG<F@$7$J(B
$B$$$h$&$J!#(B

$B$^$:!"(B[ruby-core:36444]$B$NJ}$O(B

DateTime.new! has been disabled

$B$H$$$&$3$H$G$9$,!“(Bdate$B$N%P%0$G$O$J$$$H$$$&$N$O!”!V$3$l$OHs8x(B
$B3+$N(BAPI$B$J$N$G!“>!<j$K;H$C$F$$$?J}$,0-$$!W$H$$$&0UL#$G$7$g$&(B
$B$+!#$=$l$G$”$k$J$i$P!"$=$N$h$&$KEA$($?J}$,NI$$$H;W$$$^$9!#(B

[En]
(as far as I recognize) DateTime.new! is an internal API, so
that any gem should not have used such API. tzinfo should be
updated.

$B<!$K(B[ruby-core:36802]$B$NJ}$O(B

DateTime.jd raises ‘invalid fraction’ when called with more than one
argument

$B$3$l$O$D$^$j!“!V(BDateTime$B$N(Bfraction$B$,%<%m$G$J$$$H$-$K!”$5$i$K(B
$B;~4V$dIC$r;XDj$9$k$3$H$O0UL#$,$J$$$N$G%(%i!<$G$"$k!W$H$$$&$3(B
$B$H$@$H?dB,$7$^$7$?!#@5$7$$$G$9$+!)(B

[En]
The newser version of DateTime checks adding hour|minute to
DateTime already have fraction of a day.

                           $B$^$D$b$H(B $B$f$-$R$m(B /:|)

$B$&!<$s!"$?$@$G$5$(F|1Q$N%3%_%e%K%1!<%7%g%s>cJI$,$"$k$N$K!"$h(B
$B$1$$$K$"$*$k$h$&$J8@MU8/$$$OI432$"$C$F0lMx$J$7$@$H;W$&$N$G$9(B
$B$,!#LdBj$,2r7h$7$J$$$N$K!V0B?4$7$m!W$H$$$C$F$b@hJ}$OG<F@$7$J(B
$B$$$h$&$J!#(B

$B$@$$$?$$$=$s$J46$8$@$1$I!“G<F@$G$-$J$$$N$O$3$C$A$J$s$G!”$J$s$G$"$$$D$K(B
rails
$B$NET9g$r8@$o$l$F!"Ev$?$jA0$_$?$$$J4i$5$l$J$$$-$c$i$J$i$J$$$s$@$+!#(B
$BG<F@$G$-$J$$$C$F$$$&$J$i!“26$,Aj<j$K$J$C$F$d$k$+$i!”$=$l$G$$$$$s$8$c$J(B
$B$$$N!#(B

$B2?$,$7$?$$$N$+$o$+$i$s$,!"<+J,$N%3!<%I$rDL$9$?$a$K!"$?$@O@M}$r5U$7$?$@(B
$B$1$N%Q%C%A$H$+!"$3$C$A$+$i$7$?$i$U$6$1$F$k$H$7$+;W$($J$$$M!#(B

2011/6/7 Tadayoshi F. [email protected]:

$B2?$,$7$?$$$N$+$o$+$i$s$,!“<+J,$N%3!<%I$rDL$9$?$a$K!”$?$@O@M}$r5U$7$?$@(B
$B$1$N%Q%C%A$H$+!"$3$C$A$+$i$7$?$i$U$6$1$F$k$H$7$+;W$($J$$$M!#(B

$B%"!<%m%s$G$9!#(B

$B>>85$5$s$r$O$8$a3’$5$s!"(B
$B$$$D$b5.=E$J;~4V$r3d$$$F$/$@$5$C$F$$$k;v$r46<U$7$^$9!#(B

1.9.2$B$G$O$3$N%3!<%I$,:nF0$7$?$K$b4X$o$i$:!"(B1.9.3$B$G$O:nF0$7$J$$$N$,;v<B$G$9!#(B
$B$3$NJQ99$K4X$7$F$N%G%#%W%j%1!<%7%g%s$N7Y9p!“0\E>!?0\F0!J!)!K%3!<%I$N;X<($J$I2?$b8+<u$1$i$l$^$;$s$N$G!”(B
$B$3$l$,%P%0$+!"H]$+$O;d$K$OH=CG$G$-$^$;$s!#(B

$B%3%%C%H%a%C%;!<%8(B(r31862 and
r31668)$B!!$K$b!V5!G=$N:o=|!W$K4X$7$F5-$5$l$F$$$^$;$s$G$7$?!#(B
$B$b$7$3$NF0:n$,GQ;
!?:o=|$5$l$F$$$k$N$G$"$l$P!"2?$rBeMQ$K;H$($PNI$$$+(B
$B65$($F$$$?$@$1$^$;$s$+!)(B

$B;d$N:G=L\E$O$3$N%3!<%I=$@5!“%F%9%H40N;$G$9$N$G(B
$BF0:n$,GQ;_!?:o=|$5$l$F$$$k$3$H<+BN$K0l@Z0U5A$J$I$O$”$j$^$;$s!#(B

$B3’$5$s$N$46(NO59$7$/$*4j$$$7$^$9!#(B

$B$^$D$b$H(B $B$f$-$R$m$G$9(B

In message “Re: [ruby-dev:43651] Re: DateTime.new! and DateTime.jd”
on Tue, 7 Jun 2011 23:06:09 +0900, Tadayoshi F. [email protected]
writes:

|$B$@$$$?$$$=$s$J46$8$@$1$I!“G<F@$G$-$J$$$N$O$3$C$A$J$s$G!”$J$s$G$“$$$D$K(B
|rails $B$NET9g$r8@$o$l$F!“Ev$?$jA0$_$?$$$J4i$5$l$J$$$-$c$i$J$i$J$$$s$@$+!#(B
|$BG<F@$G$-$J$$$C$F$$$&$J$i!“26$,Aj<j$K$J$C$F$d$k$+$i!”$=$l$G$$$$$s$8$c$J(B
|$B$$$N!#(B
|
|$B2?$,$7$?$$$N$+$o$+$i$s$,!”<+J,$N%3!<%I$rDL$9$?$a$K!”$?$@O@M}$r5U$7$?$@(B
|$B$1$N%Q%C%A$H$+!"$3$C$A$+$i$7$?$i$U$6$1$F$k$H$7$+;W$($J$$$M!#(B

$B$($($H!“$@$$$VE$C$F$$i$l$^$9$,!#A0$N%a!<%k$G;d$,!V?dB,!W$7(B
$B$?!V%P%0$G$J$$M}M3!W$C$F$N$OE
30$l$G$O$”$j$^$;$s$+!)(B $B$=$3$@$1(B
$B3NG’$7$?$$$G$9!#(B

$B3’$5$s$C$F$N$K26$OF~$C$F$J$$$_$?$$$@$J!#(B
$B$?$H$(%P%0$,$"$C$?$H$7$F!“26$K(B rails
$B$N%j%j!<%9$K2?$N@UG$$,$”$k$s$@(B?
1.9.3 $B$,%j%j!<%9$5$l$k$N$O$^$@@h$J$N$K!#(B
$B$U$6$1$s$J!#(B

$B$^$:$O!“K\Ev$K(B new! $B$,I,MW$J$N$+9M$($m!#M}2r$G$-$J$$$J$i!”(Bajd
$B$J$s$+$r(B
$BL5M}$K$D$+$&I,MW$O$J$$$+$i!#7k6I$^$?LdBj$K$J$k$@$m!#(B

dt = DateTime.parse(‘2011-02-03T04:05:06.123456789+09:00’)
#=> #<DateTime: 2011-02-03T04:05:06+09:00
(23573714834013717421/9600000000000,3/8,2299161)>
dt2 = DateTime.jd(0, 12,0,0, dt.offset, dt.start) + (dt.offset + dt.ajd)
#=> #<DateTime: 2011-02-03T04:05:06+09:00
(23573714834013717421/9600000000000,3/8,2299161)>
dt == dt2
#=> true
dt3 = DateTime.new(dt.year, dt.mon, dt.mday, dt.hour, dt.min, dt.sec +
dt.sec_fraction, dt.offset, dt.start)
#=> #<DateTime: 2011-02-03T04:05:06+09:00
(23573714834013717421/9600000000000,3/8,2299161)>
dt == dt3
#=> true

class DateTime < Date

def self.baka_new!(ajd=0, of=0, sg=ITALY)
jd(0, 12,0,0, of, sg) + (of + ajd)
end

end

$B26$,$A$g$C$H8+$?$H$3$m$G$O!"(Btzinfo
$B$C$F$N$O??LLL$K%?%$%`%>!<%s$r07$&$H(B
$B$$$&$h$j$O;zLL$r9g$;$F$k$@$1$@$+$i!“JQ49$9$k$HF|IU$NA08e4X78$,Jx$l$k!#(B
$B??$CEv$K;~:9$r07$&$D$b$j$J$i!”(Bnew_offset $B$r$D$+$&$@$1!#(B

DateTime.new(2001,2,3).new_offset(’+03:30’)
#=> #<DateTime: 2001-02-03T03:30:00+03:30 (4903887/2,7/48,2299161)>

$B$^$D$b$H(B $B$f$-$R$m$G$9(B

In message “Re: [ruby-dev:43653] Re: DateTime.new! and DateTime.jd”
on Wed, 8 Jun 2011 02:29:15 +0900, Aaron P.
[email protected] writes:

|1.9.2$B$G$O$3$N%3!<%I$,:nF0$7$?$K$b4X$o$i$:!"(B1.9.3$B$G$O:nF0$7$J$$$N$,;v<B$G$9!#(B
|$B$3$NJQ99$K4X$7$F$N%G%#%W%j%1!<%7%g%s$N7Y9p!“0\E>!?0\F0!J!)!K%3!<%I$N;X<($J$I2?$b8+<u$1$i$l$^$;$s$N$G!”(B
|$B$3$l$,%P%0$+!"H]$+$O;d$K$OH=CG$G$-$^$;$s!#(B

$B@h$N%a!<%k$K$b=q$$$?DL$j!“;d$,!”$U$J$P$5$s$N0U?^$r@5$7$/M}2r(B
$B$7$F$$$k$J$i$P!"$I$A$i$b%P%0$G$O$J$/!“K\Mh$N;EMM$r30$l$?;H$$(B
$BJ}$,$G$-$J$/$J$C$?$N$@$H$$$&$3$H$J$N$G!”:n<T$N4QE@$+$i$$$&$H(B
$B%P%0$G$O$J$$$H$$$&$3$H$J$N$@$H;W$$$^$9!#(B

[En]
As I stated before, if I understand him correctly, both
“problems” are not caused by bugs, but by changes to
internal behavior, which should not be used at first. So
from the author’s point of view, they are not bugs of date
library.

|$B%3%%C%H%a%C%;!<%8(B(r31862 and
r31668)$B!!$K$b!V5!G=$N:o=|!W$K4X$7$F5-$5$l$F$$$^$;$s$G$7$?!#(B
|$B$b$7$3$NF0:n$,GQ;
!?:o=|$5$l$F$$$k$N$G$“$l$P!“2?$rBeMQ$K;H$($PNI$$$+(B
|$B65$($F$$$?$@$1$^$;$s$+!)(B
|
|$B;d$N:G=L\E$O$3$N%3!<%I=$@5!”%F%9%H40N;$G$9$N$G(B
|$BF0:n$,GQ;_!?:o=|$5$l$F$$$k$3$H<+BN$K0l@Z0U5A$J$I$O$”$j$^$;$s!#(B

date$B%i%$%V%i%j$NL$8x3+(BAPI/$BL$Dj5A$NF0:n$K0MB8$7$F$$$?%3!<%I$,(B
$BB8:_$7$F$$$?$H$$$&$3$H$G$9$+$i!"4JC1$K!VBeMQ!W$,8+$D$+$k$H$O(B
$B8B$j$^$;$s!#$7$+$7!"LdBj2r7h$K6(NO$O$7$?$$$N$G!“6qBNE*$K$I$N(B
$B%i%$%V%i%j$r$I$N$h$&$K;H$C$?$H$-$K!”$I$N$h$&$JLdBj$,@8$8$F$$(B
$B$k$+65$($F$$$?$@$1$^$;$s$+!)(B

[En]
That means some gems appear to rely on date’s internal API
or undefined behavior, so that there might not be easy
“replacement”. But we’d like to help. Could you tell me
what gems cause what kind of problem, preferably in detail,
instead of reporting bugs in date library?

    $B$^$D$b$H(B $B$f$-$R$m(B /:|)

Aaron$B$,8@$C$F$k!V%j%j!<%9!W$O(B1.9.3$B$N$3$H$@$H;W$$$^$9$h!#(B
1.8.7$B$N;~$N$h$&$K!V?7$7$$(BRuby$B$,%j%j!<%9$5$l$?$i(B($B8=>u$N(B)Rails
$B$,F0$+$J$/$J$C$?!W$H$$$&Ha7`$rHr$1$?$$$H$$$&$3$H$G!"$3$l$O$7(B
$B$4$/$^$C$H$&$J$"$j$,$?$$$3$H$@$H;W$$$^$9!#(B

$B0c$$$^$9!#:G=i$N%a!<%k$N8eH>$r8+$k$H$=$N$h$&$K$b<h$l$^$9$,!“A0H>$G$OJL(B
$B$N;v$r8@$C$F$$$^$9!#$I$C$A$K$7$m(B rails
$B$NET9g$G$”$k$H;W$$$^$9$,!#(B

$B$=$&$l$"$l$P!"(Brails $B$O%j%j!<%9$7$J$$$o$1$G$9$M!#$D$.$N%j%j!<%9$O(B
1.9.3
$B$,=P$?$"$H$G$9$+!#26$K$O$I$&$G$b$$$$;v$G$9$,!#(B

1.9.3$B$O%j%j!<%9$G$-$J$$$H8@$&;v$G$9!%(B
$B$^$D$b$H$5$s$N2r<a$,@5$7$$$G$9!%(B

$B:rF|$N(B#ruby-ja @ ircnet$B%m%0$r0zMQ(B:
| sora_h: tenderlove: hi! $B%a!<%k$_$?(B?
| tenderlove: omg
| tenderlove: $B8+$?(B
| sora_h: tenderlove: $B$=$N0UL#$G$"$C$F$^$9$+(B?
| tenderlove: sora_h: $B0c$&$H;W$&!#(B
| sora_h: tenderlove: exactly wrong$B$J$N$+(Bprobably
wrong$B$J$N$+$o$+$i$J$$$G$9!%(B
| tenderlove: exactly wrong
| tenderlove: these bugs are severe
| tenderlove: we cannot release ruby with this bug

$B"(%a!<%k$H$O(B[ruby-dev:43644]$B$N$3$H$K$J$j$^$9(B

2011/6/8 Tadayoshi F. [email protected]:

$B$^$D$b$H(B $B$f$-$R$m$G$9(B

In message “Re: [ruby-dev:43662] Re: DateTime.new! and DateTime.jd”
on Wed, 8 Jun 2011 08:51:11 +0900, Tadayoshi F. [email protected]
writes:
|
|> Aaron$B$,8@$C$F$k!V%j%j!<%9!W$O(B1.9.3$B$N$3$H$@$H;W$$$^$9$h!#(B
|> 1.8.7$B$N;~$N$h$&$K!V?7$7$$(BRuby$B$,%j%j!<%9$5$l$?$i(B($B8=>u$N(B)Rails
|> $B$,F0$+$J$/$J$C$?!W$H$$$&Ha7`$rHr$1$?$$$H$$$&$3$H$G!“$3$l$O$7(B
|> $B$4$/$^$C$H$&$J$”$j$,$?$$$3$H$@$H;W$$$^$9!#(B
|
|$B0c$$$^$9!#:G=i$N%a!<%k$N8eH>$r8+$k$H$=$N$h$&$K$b<h$l$^$9$,!“A0H>$G$OJL(B
|$B$N;v$r8@$C$F$$$^$9!#$I$C$A$K$7$m(B rails $B$NET9g$G$”$k$H;W$$$^$9$,!#(B

$BA0H>$C$F(B

$B$7$+$7!“(BRails$B$K$”$k#2$D$N(Bblocker$B$,Bg$-$JLdBj$H$7$FB8:_$9$k$N$G0l9o$bAa$/=$@5$9$kI,MW$,$"$j$^$9!#(B

$B$G$9$h$M!#$“$s$^$jJL$N$3$H$K$OFI$a$J$$$1$I$J$”!#(B

$B!V$I$C$A$K$7$m(BRails$B$NET9g!W$H$$$&E@$OH]Dj$7$^$;$s$,!"(B1.9.3$B$G(B
as is$B$N(BRails$B$,F0$+$J$$$N$O$3$A$i$K$H$C$F$bET9g$,0-$$$N$O;v<B(B
$B$G$9!#(B

|$B$=$&$l$“$l$P!”(Brails $B$O%j%j!<%9$7$J$$$o$1$G$9$M!#$D$.$N%j%j!<%9$O(B 1.9.3
|$B$,=P$?$"$H$G$9$+!#26$K$O$I$&$G$b$$$$;v$G$9$,!#(B

Rails$B$N%j%j!<%9$K$D$$$F$O;d$OCN$j$^$;$s!#$,!“(B1.9.3$B$N%j%j!<%9(B
$B$h$jA0$K$A$c$s$HF0$/$h$&$K$J$C$F$$$k$H$$$$$J$H;W$$$^$9!#@5D>!”(B
$BF0$+$J$$@UG$$,C/$K$"$C$F$bHsFq$5$l$k$N$O!V;d!W$J$N$G!"6(D4$G(B
$B$-$k$N$K1[$7$?$3$H$,$J$$$H$$$&$N$,!V;d$NET9g!W$G$9!#(B

$B:G8e$K!V(B1.9.3$B%j%j!<%9A0$K$I$A$i$+0l$D$N(Bblocker$B$,=$@5$5$l$l$P$R$H$^$:$OLdBj$J$$$H;W$$$^$9!#!W(B
$B$H8@$C$F$$$k0lJ}$G!"(B
$BA0H>$G!V#2$D$N(Bblocker$B$,Bg$-$JLdBj$H$7$FB8:_$9$k$N$G0l9o$bAa$/=$@5$9$kI,MW$,$"$j$^$9!#!W(B
$B$H8@$C$F$$$^$9$h$M!#(B

$B:G8e$O%%+$7$?$N$+!"F|OB$C$?$N$+!"2?$r$=$s$J$K5^$$$G$$$?$s$G$9$+(B?
$B$b$7(B
$B%P%0$J$i%j%j!<%9%V%i%s%A$,@Z$i$l$F$b=$@5$5$l$J$1$l$P%j%j!<%9$5$l$J$$$G(B
$B$7$g$&!#(B

$B!V;d$O$3$l0J>e@h$K?J$a$^$;$s!#!W(B
$B$3$l$N0UL#$O$J$s$@$C$?$s$G$9$+(B?

$B$H$K$+$/!"(Brails $B$O%j%j!<%9$5$l$J$$$o$1$G$9$M!#8!:w$7$?$i!"(Brails
$B$r%j%j!<(B
$B%9$9$k$H$+$J$s$H$+$"$C$?$N$G!"26$=$&;W$$$^$7$?$,!#(B

1.9.3 $B$b(B rails
$B$b$^$@%j%j!<%9$O@h$@$C$F8@$&$J$i!"$=$3$^$G92$F$kI,MW$O$J(B
$B$$$G$7$g$&!#(Bdate $B$O7k9=$J=$@5$r$7$?$1$I0BDj$7$F$$$k$H;W$$$^$9!#(B

Rails$B$N%j%j!<%9$K$D$$$F$O;d$OCN$j$^$;$s!#$,!"(B1.9.3$B$N%j%j!<%9(B
$B$h$jA0$K$A$c$s$HF0$/$h$&$K$J$C$F$$$k$H$$$$$J$H;W$$$^$9!#@5D>!"(B
$BF0$+$J$$@UG$$,C/$K$"$C$F$bHsFq$5$l$k$N$O!V;d!W$J$N$G!"6(D4$G(B
$B$-$k$N$K1[$7$?$3$H$,$J$$$H$$$&$N$,!V;d$NET9g!W$G$9!#(B

$B26$b$=$l$OH]Dj$7$^$;$s!#(B

$B$7$+$7(B
$B!V$3$NLdBj$N$;$$$G!W(B
$B!V0l9o$bAa$/!W(B
$B$H$$$&8@$$$+$?$G$9$+$i$M!#(B

$B$^$D$b$H(B $B$f$-$R$m$G$9(B

In message “Re: [ruby-dev:43657] Re: DateTime.new! and DateTime.jd”
on Wed, 8 Jun 2011 07:50:30 +0900, Tadayoshi F. [email protected]
writes:

|$B$?$H$(%P%0$,$"$C$?$H$7$F!“26$K(B rails $B$N%j%j!<%9$K2?$N@UG$$,$”$k$s$@(B?
|1.9.3 $B$,%j%j!<%9$5$l$k$N$O$^$@@h$J$N$K!#(B
|$B$U$6$1$s$J!#(B

Aaron$B$,8@$C$F$k!V%j%j!<%9!W$O(B1.9.3$B$N$3$H$@$H;W$$$^$9$h!#(B
1.8.7$B$N;~$N$h$&$K!V?7$7$$(BRuby$B$,%j%j!<%9$5$l$?$i(B($B8=>u$N(B)Rails
$B$,F0$+$J$/$J$C$?!W$H$$$&Ha7`$rHr$1$?$$$H$$$&$3$H$G!“$3$l$O$7(B
$B$4$/$^$C$H$&$J$”$j$,$?$$$3$H$@$H;W$$$^$9!#(B

$B$^$D$b$H(B $B$f$-$R$m$G$9(B

In message “Re: [ruby-dev:43666] Re: DateTime.new! and DateTime.jd”
on Wed, 8 Jun 2011 09:25:59 +0900, Tadayoshi F. [email protected]
writes:

|$B26$b$=$l$OH]Dj$7$^$;$s!#(B

$B$=$l$O$h$+$C$?!#(B

|$B$7$+$7(B
|$B!V$3$NLdBj$N$;$$$G!W(B
|$B!V0l9o$bAa$/!W(B
|$B$H$$$&8@$$$+$?$G$9$+$i$M!#(B

$B%M%$%F%#%V$G$O$J$$$o$1$G$9$+$i!“$=$3$OBgL$K8+$F$”$2$F$[$7$$!#(B
$B$*$^$1$KH`$O:G=i$N%a!<%k$N;~E@$G$O!V(Bdate$B$N%P%0$G$"$k!W$H!V8m(B
$B2r!W$7$F$$$?$o$1$G!#$3$N8m2r$O2r$1$?$N$@$H?.$8$?$$!#(B

$B26$b(B rails $B$OEvLL%j%j!<%9$5$l$J$$!"$H?.$8$F$*$-$^$9!#(B

On 2011/06/07 22:41, Yukihiro M. wrote:

まつもと ゆきひろです

In message “Re: [ruby-dev:43647] Re: DateTime.new! and DateTime.jd”
on Tue, 7 Jun 2011 19:50:33 +0900, Tadayoshi F.[email protected]
writes:

DateTime already have fraction of a day.
議論の半分以下しかわからないですが、これは

The newer version of DateTime does not allow to add hours/minutes to
DateTime objects which already have a fraction of a day.

の意味でしょうか。

よろしくお願いします。 Martin.

2011/6/7 Yukihiro M. [email protected]:

|$B!V$3$NLdBj$N$;$$$G!W(B
|$B!V0l9o$bAa$/!W(B
|$B$H$$$&8@$$$+$?$G$9$+$i$M!#(B

$B;d$NI=8=$,F|K\8l$G$O<:Ni$K$J$C$F$7$^$C$?;v$r(BFunaba
$B$5$s$K$*OM$S$7$^$9!#(B
$B<B$O#57n#2#5F|IU$1$G(Bruby-core$B$K%a!<%k$G=u$1$r5a$a$?$N$G$9$,!“JV;v$rD:$1$J$+$C$?$N$G(B
$B:#2s!”(Bruby-dev$B$K$4O"Mm$7$^$7$?!#(B

$B%M%$%F%#%V$G$O$J$$$o$1$G$9$+$i!“$=$3$OBgL$K8+$F$”$2$F$[$7$$!#(B
$B$*$^$1$KH`$O:G=i$N%a!<%k$N;~E@$G$O!V(Bdate$B$N%P%0$G$"$k!W$H!V8m(B
$B2r!W$7$F$$$?$o$1$G!#$3$N8m2r$O2r$1$?$N$@$H?.$8$?$$!#(B

$B!V(Bdate$B$N%P%0$G$“$k!W$O!”;d$N8m2r$G$7$?!#N;2r$7$^$7$?!#M-$jFq$&$4$6$$$^$7$?!#(B

$B>>85$5$s!"$$$D$bJ[8n$7$F$/$@$5$C$F46<U$7$F$$$^$9!#(B

2011/6/7 Tadayoshi F. [email protected]:

$B$3$l$N0UL#$O$J$s$@$C$?$s$G$9$+(B?

$B$H$K$+$/!“(Brails $B$O%j%j!<%9$5$l$J$$$o$1$G$9$M!#8!:w$7$?$i!”(Brails
$B$r%j%j!<(B
$B%9$9$k$H$+$J$s$H$+$"$C$?$N$G!"26$=$&;W$$$^$7$?$,!#(B

1.9.3 $B$b(B rails $B$b$^$@%j%j!<%9$O@h$@$C$F8@$&$J$i!"$=$3$^$G92$F$kI,MW$O$J(B
$B$$$G$7$g$&!#(Bdate $B$O7k9=$J=$@5$r$7$?$1$I0BDj$7$F$$$k$H;W$$$^$9!#(B

$BM-$jFq$&$4$6$$$^$7$?!#=u$+$j$^$7$?!#(B