Method: Exempi::XmpDateTime#to_datetime

Defined in:
lib/exempi/consts.rb

#to_datetimeDateTime

Converts a XmpDateTime struct into a Ruby object

Returns:

  • (DateTime)

    A new Ruby DateTime object



241
242
243
244
245
246
247
248
249
# File 'lib/exempi/consts.rb', line 241

def to_datetime
  sign = self[:tzSign] == :XMP_TZ_WEST ? '-' : '+'
  zone = "%s%02d:%02d" % [sign, self[:tzHour], self[:tzMinute]]

  second = self[:second] + Rational(self[:nanoSecond],1000000000)

  DateTime.new self[:year], self[:month], self[:day], self[:hour],
    self[:minute], second, zone
end