import java.time.*; import java.util.Date; import java.text.DateFormat; import java.text.SimpleDateFormat; //BST - UK time - I we run this code in BAT SAP CPI we should get UK BST time ZoneId defaultZoneId = ZoneId.systemDefault(); println("System Default TimeZone : " + defaultZoneId); //Date date = new Date("2018-08-19");//YYYY-MM-DDTHH:mm:ss.SSSZ // //DateFormat.parse(String s) DateFormat df = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss.SSS"); Date d1 = df.parse("2018-08-19 22:09:25.100"); //1. Convert Date -> Instant Instant instant = d1.toInstant(); //println("instant : " + instant); //Zone : UTC+0 //ZoneId UKZoneId = ZoneId.of("Europe/London"); ZoneId NZZoneId = ZoneId.of("NZ"); //2. Instant + system default time zone + toLocalDate() = LocalDate LocalDate localDate = instant.atZone(NZZoneId).toLocalDate(); //LocalDate localDate = d1.toLocalDate(); println("localDate : " + localDate); //3. Instant + system default time zone + toLocalDateTime() = LocalDateTime LocalDateTime localDateTime = instant.atZone(NZZoneId).toLocalDateTime(); println("localDateTime : " + localDateTime); //4. Instant + system default time zone = ZonedDateTime ZonedDateTime zonedDateTime = instant.atZone(NZZoneId); println("zonedDateTime : " + zonedDateTime);
We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy. Accept Learn more