# File lib/ole/types/base.rb, line 98 def self.load str low, high = str.to_s.unpack 'V2' # we ignore these, without even warning about it return nil if low == 0 and high == 0 # the + 0.00001 here stinks a bit... seconds = (high * (1 << 32) + low) / 1e7 + 0.00001 obj = EPOCH + seconds / 86400 rescue return # work around home_run not preserving derived class obj = new! obj.jd + obj.day_fraction - 0.5, 0, ITALY unless FileTime === obj obj end