如何在Java中将PST转换为GMT(-0800)?

问题描述 投票:0回答:2

实际上在我的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.....etcGMT(+11:00),GMT(-08:00),GMT(+0530).......etc

java timezone simpledateformat
2个回答
1
投票
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));

0
投票

在我看来,清洁方式。

        TimeZone gmtTime = TimeZone.getTimeZone("IST");
        long gmtOffset = gmtTime.getOffset(new Date().getTime())/ TimeUnit.HOURS.toMillis(1);
© www.soinside.com 2019 - 2024. All rights reserved.