我想从给定的时区获得当前时间,可以像“IST”或“印度标准时间”等。 当输入为“印度标准时间”或“协调世界时”时,我无法获得时间。它只适用于“IST”或“UTC”或“EST”等。 我已经尝试过Joda-Time和SimpleDateFormat。如何从java中给定的时区名称获取当前时间?
SimpleDateFormat sd = new SimpleDateFormat(
"yyyy.MM.dd G 'at' HH:mm:ss z");
Date date = new Date();
sd.setTimeZone(TimeZone.getTimeZone("IST"));
System.out.println(sd.format(date));
DateTime now = new DateTime();
//DateTimeZone LDateTimeZone = DateTimeZone.forID("Asia/Kolkata");
DateTimeZone LDateTimeZone = DateTimeZone.forID("IST"); //deprecated
System.out.println("Joda-Time zone: " + now.toDateTime(LDateTimeZone));
有没有办法处理这两个输入?
始终使用全IANA时区信息数据库的名字 - '亚洲/ Kolkata'。缩写不是唯一的(印度/以色列/爱尔兰?),人性化名称是语言/地区特定的。 –