exiftool-vendored
    Preparing search index...

    Function extractTzOffsetFromTags

    • Extract timezone offset from standard EXIF timezone tags.

      Checks timezone tags in priority order:

      1. TimeZone
      2. OffsetTimeOriginal (for DateTimeOriginal)
      3. OffsetTimeDigitized (for CreateDate)
      4. TimeZoneOffset

      Handles camera-specific quirks like Nikon's DaylightSavings tag, which requires adjusting the TimeZone offset forward by one hour during DST.

      Parameters

      • t: Tags

        EXIF tags object

      • Optionalopts: Pick<ExifToolOptions, "adjustTimeZoneIfDaylightSavings">
        • adjustTimeZoneIfDaylightSavings

          Optional function to adjust timezone for DST. Defaults to handling Nikon's DaylightSavings quirk.

      Returns Maybe<TzSrc>

      TzSrc with zone and provenance, or undefined if no timezone found

      const tags = await exiftool.read("photo.jpg")

      const tzSrc = extractTzOffsetFromTags(tags)
      if (tzSrc) {
      console.log(`Timezone: ${tzSrc.zone}`)
      console.log(`Source: ${tzSrc.src}`) // e.g., "OffsetTimeOriginal"
      }

      // Nikon DST handling
      const nikonTags = {
      TimeZone: "-08:00",
      DaylightSavings: "Yes",
      Make: "NIKON CORPORATION"
      }
      extractTzOffsetFromTags(nikonTags)
      // { zone: "UTC-7", tz: "UTC-7",
      // src: "TimeZone (adjusted for DaylightSavings)" }