fork download
  1. import java.time.LocalDateTime;
  2. import java.time.ZoneId;
  3. import java.time.ZonedDateTime;
  4. import java.time.format.DateTimeFormatter;
  5. import java.util.Locale;
  6.  
  7. public class Main {
  8. public static void main(String[] args) {
  9. // Tests
  10. System.out.println(convertToTimezone("03/08/2010 20:19:00 PM", "Asia/Shanghai", "US/Central"));
  11. System.out.println(convertToTimezone("03/08/2010 20:19:00 PM", "Asia/Shanghai", "America/Mexico_City"));
  12. }
  13.  
  14. static String convertToTimezone(String inputDate, String inputDateTimezone, String destinationDateTimezone) {
  15. DateTimeFormatter dtf = DateTimeFormatter.ofPattern("MM/dd/uuuu HH:mm:ss a", Locale.ENGLISH);
  16. LocalDateTime ldt = LocalDateTime.parse(inputDate, dtf);
  17. ZonedDateTime zdtInput = ldt.atZone(ZoneId.of(inputDateTimezone));
  18. ZonedDateTime zdtDestination = zdtInput.withZoneSameInstant(ZoneId.of(destinationDateTimezone));
  19. return zdtDestination.format(dtf);
  20. }
  21. }
Success #stdin #stdout 0.14s 56652KB
stdin
Standard input is empty
stdout
03/08/2010 06:19:00 AM
03/08/2010 06:19:00 AM