天天看點

LocalDate,LocalDateTime ,ZonedDateTime之間轉換,帶上時區

LocalDate==》LocalDateTime==》ZonedDateTime,

阿咚直接上代碼

LocalDateTime l2
                 =LocalDateTime.of(LocalDate.parse("2021-07-27"), LocalTime.of(0, 0,0));
      //時區亞州上海 東八區
	  ZonedDateTime r=ZonedDateTime.of(l2, ZoneId.of("Asia/Shanghai"));
      //兩種格式 按需要使用
      DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ");
	  System.out.println(r.format(formatter));
      //輸出結果2021-07-27T00:00:00+0800
	  DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ssZ");
	  System.out.println(r.format(formatter2));
      //輸出結果2021-07-27 00:00:00+0800
           

其中時區的清單有以下,都是ZoneId 類中的說明的,使用時可以自行點開

* <li>EST - -05:00</li>
     * <li>HST - -10:00</li>
     * <li>MST - -07:00</li>
     * <li>ACT - Australia/Darwin</li>
     * <li>AET - Australia/Sydney</li>
     * <li>AGT - America/Argentina/Buenos_Aires</li>
     * <li>ART - Africa/Cairo</li>
     * <li>AST - America/Anchorage</li>
     * <li>BET - America/Sao_Paulo</li>
     * <li>BST - Asia/Dhaka</li>
     * <li>CAT - Africa/Harare</li>
     * <li>CNT - America/St_Johns</li>
     * <li>CST - America/Chicago</li>
     * <li>CTT - Asia/Shanghai</li>
     * <li>EAT - Africa/Addis_Ababa</li>
     * <li>ECT - Europe/Paris</li>
     * <li>IET - America/Indiana/Indianapolis</li>
     * <li>IST - Asia/Kolkata</li>
     * <li>JST - Asia/Tokyo</li>
     * <li>MIT - Pacific/Apia</li>
     * <li>NET - Asia/Yerevan</li>
     * <li>NST - Pacific/Auckland</li>
     * <li>PLT - Asia/Karachi</li>
     * <li>PNT - America/Phoenix</li>
     * <li>PRT - America/Puerto_Rico</li>
     * <li>PST - America/Los_Angeles</li>
     * <li>SST - Pacific/Guadalcanal</li>
     * <li>VST - Asia/Ho_Chi_Minh</li>
           

另外時區編号可以通過動态擷取系統的

ZoneId defaultZone = ZoneId.systemDefault();
		System.out.println(defaultZone); //此處列印為時區所在城市Asia/Shanghai