实际上在我的java程序中,如下面的代码...
String date1=null;
String formate="IST";
SimpleDateFormat sourceFormat = new SimpleDateFormat("z");
SimpleDateFormat gmtFormat = new SimpleDateFormat("'GMT('Z')'");
date1 = gmtFormat.format(sourceFormat.parse(formate));
System.out.println(date1);//output GMT(+0530)
听到它正在给出正确的价值,但时区可能会像PST---- GMT(-0800)
那样改变。
但我的代码总是只显示GMT(+0530)
请帮我转换时区ACT,,PST,IST.....etc
到GMT(+11:00),GMT(-08:00),GMT(+0530).......etc
java.text.SimpleDateFormat sourceFormat = new SimpleDateFormat("z");
java.text.SimpleDateFormat gmtFormat = new SimpleDateFormat("'GMT('ZZZ')' zzzz");
java.util.Date date1 = sourceFormat.parse("IST");
TimeZone gmtTime = TimeZone.getTimeZone("IST");
gmtFormat.setTimeZone(gmtTime);
//System.out.println("Source date: " + date1);
System.out.println(" "+ gmtFormat.format(date1));
在我看来,清洁方式。
TimeZone gmtTime = TimeZone.getTimeZone("IST");
long gmtOffset = gmtTime.getOffset(new Date().getTime())/ TimeUnit.HOURS.toMillis(1);