Это код, который работает правильно в Java 8 и печатает желаемый вывод.
import java.util.*;
import java.text.DateFormat;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
public class Java11 {
public static void main(String args[]) throws Exception {
// Hong kong timezone ID.
String hongkongTimezone = "Asia/Hong_Kong";
String dateFormat = "MMM dd, yyyy HH:mm:SS";
//Current date of local time zone.
Date date = new Date();
// Current date of HongKong.
Date currentDateHongkong = null;
DateFormat hongkongDateFromat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, Locale.US);
// Set hongkong time zone ID.
hongkongDateFromat.setTimeZone(TimeZone.getTimeZone(hongkongTimezone));
String stringFormatDate = hongkongDateFromat.format(date);
currentDateHongkong = new SimpleDateFormat(dateFormat).parse(stringFormatDate, new ParsePosition(0));
System.out.println(currentDateHongkong);
}
}
Вывод следующий при выполнении на Java 8
Mon Oct 22 06:28:00 IST 2018
Но когда я выполняютот же код на Java 11, я получаю null
.