Java程序将Instant转换为LocalDateTime

假设您需要使用带有时区的IST将Instant转换为LocalDateTime:

创建即时消息:

Instant instant = new Date().toInstant();

现在,将Instant转换为LocalDateTime:

LocalDateTime date = LocalDateTime.ofInstant(instant, ZoneId.of(ZoneId.SHORT_IDS.get("IST")));

示例

import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;
public class Demo {
   public static void main(String[] args) {
      Instant instant = new Date().toInstant();
      LocalDateTime date = LocalDateTime.ofInstant(instant, ZoneId.of(ZoneId.SHORT_IDS.get("IST")));
      System.out.println("Date (IST) = " + date);
      date = LocalDateTime.ofInstant(instant, ZoneId.of(ZoneId.SHORT_IDS.get("PST")));
      System.out.println("Date (PST) = " + date);
      date = LocalDateTime.ofInstant(instant, ZoneId.of(ZoneId.SHORT_IDS.get("EST")));
      System.out.println("Date (EST) = " + date);
   }
}

输出结果

Date (IST) = 2019-04-18T13:32:26.923
Date (PST) = 2019-04-18T01:02:26.923
Date (EST) = 2019-04-18T03:02:26.923