How to get local time of different time zones?

前端 未结 7 1173
青春惊慌失措
青春惊慌失措 2020-12-18 19:08

I want to get local time of different time zones using Java code. Based on the time zone passed to the function I need that time zone\'s local time. How to achieve this?

7条回答
  •  星月不相逢
    2020-12-18 19:57

    check this. hope it will help.

        TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai");
        Calendar cal = Calendar.getInstance();
    
        int LocalOffSethrs = (int) ((cal.getTimeZone().getRawOffset()) *(2.77777778 /10000000));
    
        int ChinaOffSethrs = (int) ((tz.getRawOffset()) *(2.77777778 /10000000));
    
        TimeZone tz1 = TimeZone.getTimeZone("US/Central");
        String ss =cal.getTimeZone().getDisplayName();
    
        System.out.println("Local Time Zone : " + ss);
        System.out.println("China Time : " + tz.getRawOffset());
    
        System.out.println("Local Offset Time from GMT: " + LocalOffSethrs);
        System.out.println("China Offset Time from GMT: " + ChinaOffSethrs);
    
        cal.add(Calendar.MILLISECOND,-(cal.getTimeZone().getRawOffset()));
        //cal.add(Calendar.HOUR,- LocalOffSethrs);
    
        cal.add(Calendar.MILLISECOND, tz.getRawOffset());
        Date dt = new Date(cal.getTimeInMillis());                  
        System.out.println("After adjusting offset Acctual China Time :" + dt);
    

提交回复
热议问题