Java 分区日期时间.pdfVIP

  • 5
  • 0
  • 约4.99千字
  • 约 6页
  • 2017-07-26 发布于河北
  • 举报
Java 分区日期时间.pdf

Java 分区⽇期时间 Java ⽇期时间 - Java分区⽇期时间 分区⽇期时间 ZonedDateTime 类表⽰带有时区规则的⽇期时间。 ZonedDateTime 结合了 LocalDateTime 和 ZoneId 。 下⾯说明如何从 LocalDateTime 创建 ZonedDateTime 。 import java.time.LocalDateTime; import java.time.Month; import java.time.ZoneId; import java.time.ZonedDateTime; public class Main { public static void main(String ] args) { ZoneId usCentral = ZoneId.of(America/Chicago); LocalDateTime localDateTime = LocalDateTime.of(2014, Month.MAY System.out.println(localDateTime); ZonedDateTime zonedDateTime = ZonedDateTime.of(localDateTime, System.out.println(zonedDateTime); } } 上⾯的代码⽣ 以下结果。 注意 由于夏令时更改,可能会发⽣时区中的本地时间轴上的间隙或重叠。 当时钟向前或向后移动⼀个⼩时时,会有时间上的间隙或重叠 如果时间落在间隙的中间,则时间向前移动与间隙相同的量。 如果时间落在重叠的中间,则时间有效。 默认情况下,使⽤较早版本。 withEarlierOffsetAtOverlap()和 fromLaterOffsetAtOverlap()从ZonedDateTime让您选择所需的区域偏移量,如果时间落 在重叠。 例2 以下代码显⽰ZonedDateTime ,其中时间落在间隙和重叠中。 import java.time.LocalDateTime; import java.time.Month; import java.time.ZoneId; import java.time.ZonedDateTime; public class Main { public static void main(String ] args) { ZoneId usChicago = ZoneId.of(America/Chicago); // 2014-03-09T02:30 did not exist in America/Chicago time zone LocalDateTime ldt = LocalDateTime.of(2014, Month.MARCH, 9, 2, ZonedDateTime zdt = ZonedDateTime.of(ldt, usChicago); System.out.println(zdt); // 2013-10-03T01:30 existed twice in America/Chicago time zone LocalDateTime ldt2 = LocalDateTime.of(2013, Month.NOVEMBER, 3, ZonedDateTime zdt2 = ZonedDateTime.of(ldt2, usChicago); System.out.println(zdt2.withEarlierOffsetAtOverlap()); System.out.println(zdt2.withLaterOffsetAtOverlap()); } } 上⾯的代码⽣ 以下结果。 例3 ZonedDateTime .of Local(LocalDateTime localDateTime ,ZoneId zone ,Zone Offset preferred Offset)从区域偏移创建ZonedDateTime 。 如果指定的引⽤区域偏移⽆效,则使⽤重叠的较早区域偏移。 - 7: ⽆效,则使⽤较早的偏移量- 5: 。 import java.time.LocalDateTime; import java.time.Month; import java.time.ZoneId; imp

文档评论(0)

1亿VIP精品文档

相关文档