Convert Date/Time for given Timezone - java

前端 未结 16 2435
孤城傲影
孤城傲影 2020-11-22 12:36

I want to convert this GMT time stamp to GMT+13:

2011-10-06 03:35:05

I have tried about 100 different combinations of DateFormat, TimeZone,

16条回答
  •  心在旅途
    2020-11-22 12:52

    I have try this code

    try{
                SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss Z");
                Date datetime = new Date();
    
                System.out.println("date "+sdf.format(datetime));
    
                sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
    
                System.out.println("GMT "+ sdf.format(datetime));
    
                sdf.setTimeZone(TimeZone.getTimeZone("GMT+13"));
    
                System.out.println("GMT+13 "+ sdf.format(datetime));
    
                sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
    
                System.out.println("utc "+sdf.format(datetime));
    
                Calendar calendar = new GregorianCalendar(TimeZone.getTimeZone("GMT"));
    
                DateFormat formatter = new SimpleDateFormat("dd MMM yyyy HH:mm:ss z");    
                formatter.setTimeZone(TimeZone.getTimeZone("GMT+13"));  
    
                String newZealandTime = formatter.format(calendar.getTime());
    
                System.out.println("using calendar "+newZealandTime);
    
            }catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    

    and getting this result

    date 06-10-2011 10:40:05 +0530
    GMT 06-10-2011 05:10:05 +0000 // here getting 5:10:05
    GMT+13 06-10-2011 06:10:05 +1300 // here getting 6:10:05
    utc 06-10-2011 05:10:05 +0000
    using calendar 06 Oct 2011 18:10:05 GMT+13:00
    

提交回复
热议问题