Shane Landrum


Net::ICal::Timezone -- class for representing VTIMEZONEs


This module represents VTIMEZONEs, which detail important information about timezones. For any timezone, you need to know some important factors related to it, namely:

  • What UTC offset it's in now ('8 hours before GMT')

  • What UTC offset it'll be in at the next daylight/standard time shift

  • When the shifts to and from daylight savings time take place

This object represents those concepts with arrays of Net::ICal::Standard and Net::ICal::Daylight objects. For more detail on why, see RFC2445 4.6.5.

If you want some real data to test this module against, see , which is a set of VTIMEZONE files that aims to describe every timezone in the world. We'll be relying on those files in a future release as a master timezone database. They're a translation of the Olsen timezone database found on Unix systems.


    use Net::ICal::Timezone;

    # we know this works
    my $tz = Net::ICal::Timezone->new_from_ical($ical_text);
    # we haven't tested this yet, patches welcome
    my $tz = Net::ICal::Timezone->new(
        tzid => 'America/New_York',
        standards => [
            (Net::ICal::Standard objects)                    
        daylights => [
            (Net::ICal::Daylight objects)



Makes a new Timezone object. Permissible arguments are:

  • tzid - a unique identifier for this timezone

  • lastmod - the last date/time this timezone info was updated

  • tzurl - an URL where you can find a newer version of this infi

  • standards - an array of Net::ICal::Timezone::Standard objects.

  • daylights - an array of N::I::Timezone::Daylight objects.