@touch4it/ical-timezones
v1.9.0
Published
iCal timezone component generator
Downloads
22,326
Readme
VTIMEZONE iCalendar component generator
Library to generate RFC 5545 VTIMEZONE iCalendar component
Usage
Installation
npm install @touch4it/ical-timezones
const tz = require('@touch4it/ical-timezones');
Generate VTIMEZONE calendar object
const vtimezone = tz.getVtimezone('Europe/Bratislava');
or
const vtimezone = await tz.getVtimezoneAsync('Europe/Bratislava');
Generated output
BEGIN:VCALENDAR
PRODID:-//tzurl.org//NONSGML Olson 2018g-rearguard//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Europe/Bratislava
TZURL:http://tzurl.org/zoneinfo-outlook/Europe/Bratislava
X-LIC-LOCATION:Europe/Bratislava
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19700329T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
END:VCALENDAR
Generate VTIMEZONE calendar component
const vtimezone = tz.getVtimezoneComponent('Europe/Bratislava');
or
const vtimezone = await tz.getVtimezoneComponentAsync('Europe/Bratislava');
Generated output
BEGIN:VTIMEZONE
TZID:Europe/Bratislava
TZURL:http://tzurl.org/zoneinfo-outlook/Europe/Bratislava
X-LIC-LOCATION:Europe/Bratislava
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19700329T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
Data sources
https://github.com/benfortuna/tzurl
https://github.com/champtar/z-push/blob/master/src/lib/utils/timezoneutil.php
http://www.healthstream.com/hlchelp/Administrator/Classes/HLC_Time_Zone_Abbreviations.htm