title: What's VTIMEZONE used for in icalendar? Why not just UTC time?
body: <p>What's VTIMEZONE used for in icalendar?</p>
  <p>e.g. 1</p>
  <pre><code>BEGIN:VCALENDAR
  VERSION:2.0
  PRODID:-//Apple Inc.//Mac OS X 10.12.3//EN
  CALSCALE:GREGORIAN
  BEGIN:VTIMEZONE
  TZID:Asia/Shanghai
  BEGIN:STANDARD
  TZOFFSETFROM:+0900
  RRULE:FREQ=YEARLY;UNTIL=19910914T150000Z;BYMONTH=9;BYDAY=3SU
  DTSTART:19890917T000000
  TZNAME:GMT+8
  TZOFFSETTO:+0800
  END:STANDARD
  BEGIN:DAYLIGHT
  TZOFFSETFROM:+0800
  DTSTART:19910414T000000
  TZNAME:GMT+8
  TZOFFSETTO:+0900
  RDATE:19910414T000000
  END:DAYLIGHT
  END:VTIMEZONE
  BEGIN:VEVENT
  TRANSP:OPAQUE
  LAST-MODIFIED:20170305T083916Z
  UID:gjo1burcjnsib4p2j8tbbv4hh0@google.com
  DTSTAMP:20170305T083916Z
  LOCATION:Cell Group
  DESCRIPTION:
  STATUS:CONFIRMED
  SEQUENCE:0
  SUMMARY:Study Bible
  DTSTART;TZID=Asia/Shanghai:20170324T193000
  DTEND;TZID=Asia/Shanghai:20170324T213000
  X-APPLE-TRAVEL-ADVISORY-BEHAVIOR:AUTOMATIC
  CREATED:20160312T140632Z
  RRULE:FREQ=WEEKLY;BYDAY=FR
  BEGIN:VALARM
  X-WR-ALARMUID:9B47E27E-9063-417E-B488-409387A3201A
  UID:9B47E27E-9063-417E-B488-409387A3201A
  TRIGGER;VALUE=DATE-TIME:19760401T005545Z
  ACKNOWLEDGED:20161125T105826Z
  X-APPLE-DEFAULT-ALARM:TRUE
  ACTION:NONE
  END:VALARM
  END:VEVENT
  END:VCALENDAR
  </code></pre>
  <blockquote>
  <p>From <a href="https://www.rfc-editor.org/rfc/rfc5545#section-3.6.5" rel="nofollow noreferrer">iCalendar Documentation</a></p>
  <p>VTIMEZONE: provides a grouping of component properties that defines a time zone.</p>
  </blockquote>
  <h2>1. What's the definition of VTIMEZONE?</h2>
  <p>Is a rule to describe winter time and summer time for a location?</p>
  <h2>2. What's VTIMEZONE used for?</h2>
  <p>I don't have to specify a VTIMEZONE component in icalendar object. Instead, I transofrm my local time to utc time, and export icalendar event.</p>
  <pre><code># Before
  DTSTART:20170324T113000Z
  DTEND:20170324T130000
  
  # After
  DTSTART;TZID=Asia/Shanghai:20170324T193000
  DTEND;TZID=Asia/Shanghai:20170324T213000
  </code></pre>
  <p>2.1 Does this make sense?  a icalendar object without VTIMEZONE</p>
  <pre><code>BEGIN:VCALENDAR
  VERSION:2.0
  PRODID:-//Apple Inc.//Mac OS X 10.12.3//EN
  BEGIN:VEVENT
  TRANSP:OPAQUE
  LAST-MODIFIED:20170305T083916Z
  UID:gjo1burcjnsib4p2j8tbbv4hh0@google.com
  DTSTAMP:20170305T083916Z
  LOCATION:Cell Group
  DESCRIPTION:
  STATUS:CONFIRMED
  SEQUENCE:0
  SUMMARY:Study Bible
  DTSTART;TZID=Asia/Shanghai:20170324T113000
  DTEND;TZID=Asia/Shanghai:20170324T213000
  X-APPLE-TRAVEL-ADVISORY-BEHAVIOR:AUTOMATIC
  CREATED:20160312T140632Z
  RRULE:FREQ=WEEKLY;BYDAY=FR
  BEGIN:VALARM
  X-WR-ALARMUID:9B47E27E-9063-417E-B488-409387A3201A
  UID:9B47E27E-9063-417E-B488-409387A3201A
  TRIGGER;VALUE=DATE-TIME:19760401T005545Z
  ACKNOWLEDGED:20161125T105826Z
  X-APPLE-DEFAULT-ALARM:TRUE
  ACTION:NONE
  END:VALARM
  END:VEVENT
  END:VCALENDAR
  </code></pre>
  <p>2.2 If this makes sense, what's the usage of VTIMEZONE?</p>
  <h2>3. Consistence between VTIMEZONE and VEVENT</h2>
  <p>Take e.g. 1 for example.</p>
  <pre><code>....
  BEGIN:VTIMEZONE
  TZID:Asia/Shanghai                           &lt;- Part 1
  .....
  END:VTIMEZONE
  
  
  BEGIN:VEVENT
  ....
  DTSTART;TZID=Asia/Shanghai:20170324T193000   &lt;- Part 2
  DTEND;TZID=Asia/Shanghai:20170324T213000     &lt;- Part 3
  ....
  END:VEVENT
  </code></pre>
  <p>3.1. Must timezone in VEVENT be consistent with VTIMEZONE?</p>
  <p>3.2 Can I use other timezone to describe time in part2 and part3?</p>
  <p>e.g.</p>
  <pre><code>....
  BEGIN:VTIMEZONE
  TZID:Asia/Shanghai                           &lt;- Part 1
  .....
  END:VTIMEZONE
  
  
  BEGIN:VEVENT
  ....
  DTSTART:20170324T193000Z   &lt;- Part 2 UTC time
  DTEND:20170324T213000Z     &lt;- Part 3 UTC Time
  ....
  END:VEVENT
  </code></pre>