我正在尝试VTIMEZONE使用 JavaZoneId和ZoneOffsetTransitionRule.
我的VTIMEZONE对象看起来像
BEGIN:VTIMEZONE
TZID:Central European Standard Time
BEGIN:STANDARD
DTSTART:16010101T030000
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=10
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:16010101T020000
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=1;BYDAY=MO
END:DAYLIGHT
END:VTIMEZONE
我需要创建自己ZoneId的模型来对此进行建模,因为据我所知,ZoneId这些偏移量不可用,并且 DST 开始于 1 月的第一个星期一(而不是 3 月的某个星期日)。
我有以下创建一个 ZoneOffsetTransitionRule
ZoneOffsetTransitionRule of =
  ZoneOffsetTransitionRule.of(Month.JANUARY, 1, DayOfWeek.MONDAY, LocalTime.of(2, 0),
    false, ZoneOffsetTransitionRule.TimeDefinition.STANDARD, ZoneOffset.ofHours(1),
    ZoneOffset.ofHours(1), ZoneOffset.ofHours(2));
但我不确定它是否正确或如何从中创建一个ZoneId。
DAYLIGHTmy的组件VTIMEZONE?ZoneId从这个创建一个这样我最终可以创建一个ZonedDateTime?