java.time.Instant.atZone(ZoneId zone)方法

2019-10-16 22:39:09

java.time.Instant.atZone(ZoneId zone)方法將此瞬間與時區組合以建立ZonedDateTime。

宣告

以下是java.time.Instant.atZone(ZoneId zone)方法的宣告。

public ZonedDateTime atZone(ZoneId zone)

引數

  • zone - 要與之結合的區域,而不是null

返回值

從此瞬間和指定區域形成的分割區日期時間,不為null

異常

  • DateTimeException - 如果結果超出支援的範圍。

範例

以下範例顯示了java.time.Instant.atZone(ZoneId zone)方法的用法。

package com.yiibai;

import java.time.Instant;
import java.time.OffsetDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.util.Set;

public class InstantDemo {
   public static void main(String[] args) {

      Instant instant = Instant.parse("2017-02-03T10:37:30.00Z");
      System.out.println(instant);  

      Set<String> zones = ZoneId.getAvailableZoneIds();

      ZoneId zone = ZoneId.of(zones.iterator().next());

      ZonedDateTime  date = instant.atZone(zone);
      System.out.println(date);  
   }
}

編譯並執行上面的程式,這將產生以下結果 -

2017-02-03T10:37:30Z
2017-02-03T13:37:30+03:00[Asia/Aden]