How to get local time of different time zones?

2019-01-26 03:36发布

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?

标签: java timezone
7条回答
老娘就宠你
2楼-- · 2019-01-26 04:27

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);
查看更多
登录 后发表回答