From: masaki.suketa@... Date: 2014-09-18T16:05:08+00:00 Subject: [ruby-dev:48558] [ruby-trunk - Bug #10258] [Open] conversion WIN32OLE_VARIANT and Time Issue #10258 has been reported by Masaki Suketa. ---------------------------------------- Bug #10258: conversion WIN32OLE_VARIANT and Time https://bugs.ruby-lang.org/issues/10258 * Author: Masaki Suketa * Status: Open * Priority: Normal * Assignee: Masaki Suketa * Category: core * Target version: current: 2.2.0 * ruby -v: 2.2.0dev, 2.2.0-preview1 * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- 今日、うささんに教えていただいたテストの失敗は、こういう事象と同様だと思われます。 require 'win32ole' t0 = Time.new(2014,9,19) t0 += 0.9999 v = WIN32OLE_VARIANT.new(t0) t1 = v.value p t0 # => 2014-09-19 00:00:00 +0900 p t1 # => 2014-09-19 00:00:01 +0900 p t0.to_f # => 1411052400.9999 p t1.to_f # => 1411052401.0 t0 = Time.new(2014,9,19, 0, 0, 59) t0 += 0.9999 v = WIN32OLE_VARIANT.new(t0) t1 = v.value p t0 # => 2014-09-19 00:00:59 +0900 p t1 # => 2014-09-19 00:02:00 +0900 p t0.to_f # => 1411052459.9999 p t1.to_f # => 1411052520.0 -- https://bugs.ruby-lang.org/