From: Tanaka Akira Date: 2013-03-27T20:44:24+09:00 Subject: [ruby-core:53771] Re: [ruby-trunk - Bug #8173][Open] 2-arg form of Time.at can take a Time as either argument 2013/3/27 hasari (Hiro Asari) : > Bug #8173: 2-arg form of Time.at can take a Time as either argument > https://bugs.ruby-lang.org/issues/8173 > http://www.ruby-doc.org/core-2.0/Time.html#method-c-at shows 3 forms of invocation: > > at(time) → time click to toggle source > at(seconds_with_frac) → time > at(seconds, microseconds_with_frac) → time > > But the last form can take a Time as either argument (and converts to a numeric value represented by the number of seconds since the Epoch). If a Time is used as the second argument, the numeric value is then converted to microseconds to return a Time. (I hope that I'm making sense.) > > irb(main):001:0> RUBY_DESCRIPTION > => "ruby 2.1.0dev (2013-03-11 trunk 39724) [x86_64-darwin12.2.1]" > irb(main):002:0> t1=Time.at(10) > => 1969-12-31 19:00:10 -0500 > irb(main):003:0> t2=Time.at(t1,t1) > => 1969-12-31 19:00:10 -0500 > irb(main):004:0> t2.usec > => 10 > > Is this intended behavior? If so, the documentation should be updated. It is a bug. -- Tanaka Akira