Class: Time

Inherits:
Object show all
Defined in:
lib/rant/archive/rubyzip/stdrubyext.rb

Overview

:nodoc:all

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.parse_binary_dos_format(binaryDosDate, binaryDosTime) ⇒ Object


88
89
90
91
92
93
94
95
96
97
98
# File 'lib/rant/archive/rubyzip/stdrubyext.rb', line 88

def self.parse_binary_dos_format(binaryDosDate, binaryDosTime)
  second = 2 * (       0b11111 & binaryDosTime)
  minute = (     0b11111100000 & binaryDosTime) >> 5 
  hour   = (0b1111100000000000 & binaryDosTime) >> 11
  day    = (           0b11111 & binaryDosDate) 
  month  = (       0b111100000 & binaryDosDate) >> 5
  year   = ((0b1111111000000000 & binaryDosDate) >> 9) + 1980
  begin
    return Time.local(year, month, day, hour, minute, second)
  end
end

Instance Method Details

#dos_equals(other) ⇒ Object

Dos time is only stored with two seconds accuracy


84
85
86
# File 'lib/rant/archive/rubyzip/stdrubyext.rb', line 84

def dos_equals(other)
  to_i/2 == other.to_i/2
end

#to_binary_dos_dateObject


77
78
79
80
81
# File 'lib/rant/archive/rubyzip/stdrubyext.rb', line 77

def to_binary_dos_date
  (day) +
    (month << 5) +
    ((year - 1980) << 9)
end

#to_binary_dos_timeObject


71
72
73
74
75
# File 'lib/rant/archive/rubyzip/stdrubyext.rb', line 71

def to_binary_dos_time
  (sec/2) +
    (min  << 5) +
    (hour << 11)
end