From: akr@... Date: 2017-09-20T13:46:18+00:00 Subject: [ruby-core:82897] [Ruby trunk Feature#13919] Add a new method to create Time instances from unix time and nsec Issue #13919 has been updated by akr (Akira Tanaka). I think new method is possible if we find a good method name. Another idea is adding an optional argument, unit, for Time.at. Time.at(s, ns, :nanosecond) for example. ---------------------------------------- Feature #13919: Add a new method to create Time instances from unix time and nsec https://bugs.ruby-lang.org/issues/13919#change-66796 * Author: tagomoris (Satoshi TAGOMORI) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- Time object contains `nsec`, but Time class doesn't have method to create an instance with nsec. Time.at() accepts 2nd argument, but it's micro-sec, and we need to divide nsec by 1000.0. ```ruby t1 = Time.now t1.nsec #=> nsec value t2 = Time.at(t1.to_i, t1.usec) # not nsec! t3 = Time.at(t1.to_i, t1.nsec / 1000.0) # additional division ``` I think it's better to have another method to create an instance from time(unix time) and nsec, for example, `Time.of(unix_time, nsec)` ```ruby t = Time.now Time.of(t.to_i, t.nsec) == t ``` -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>