相关疑难解决方法(0)

Java 中的自定义 ZoneIds/时区

我正在尝试VTIMEZONE使用 JavaZoneIdZoneOffsetTransitionRule.

我的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
Run Code Online (Sandbox Code Playgroud)

我需要创建自己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));
Run Code Online (Sandbox Code Playgroud)

但我不确定它是否正确或如何从中创建一个ZoneId

  • 该转换规则是否准确地模拟了DAYLIGHTmy的组件VTIMEZONE
  • 我怎样才能ZoneId从这个创建一个这样我最终可以创建一个ZonedDateTime

java time icalendar timezone

2
推荐指数
1
解决办法
706
查看次数

标签 统计

icalendar ×1

java ×1

time ×1

timezone ×1