Android 未使用迪拜时区从日历实例获取迪拜当前时间

Android 未使用迪拜时区从日历实例获取迪拜当前时间,android,calendar,timezone,android-calendar,android-date,Android,Calendar,Timezone,Android Calendar,Android Date,我已经写了一个代码来获取迪拜的当前时间。但我得到的回报是系统当前时间 下面是我一直在使用的代码 Calendar cal = Calendar.getInstance(TimeZone.getTimeZone(Asia/Dubai)).getTime(); cal.getTime(); cal.getTime()始终返回系统时间 我现在在印度。所以这个日历实例总是返回印度时间 如何获取迪拜当前时间您可以这样尝试 Calendar localTime = Calendar.getInstanc

我已经写了一个代码来获取迪拜的当前时间。但我得到的回报是系统当前时间

下面是我一直在使用的代码

Calendar cal = Calendar.getInstance(TimeZone.getTimeZone(Asia/Dubai)).getTime();
cal.getTime();
cal.getTime()始终返回系统时间

我现在在印度。所以这个日历实例总是返回印度时间

如何获取迪拜当前时间

您可以这样尝试

 Calendar localTime = Calendar.getInstance();



        Calendar time= new GregorianCalendar(TimeZone.getTimeZone("Asia/Dubai"));
        time.setTimeInMillis(localTime.getTimeInMillis());
        int hr = time.get(Calendar.HOUR);
        int min = time.get(Calendar.MINUTE);


        System.out.println(hours);
试试这个

Calendar currentTime = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
        currentTime.set(Calendar.ZONE_OFFSET, TimeZone.getTimeZone("UTC").getRawOffset());
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.HOUR_OF_DAY, currentTime.get(Calendar.HOUR_OF_DAY));
        calendar.add(Calendar.HOUR, 4);
        Log.d(TAG, "time: " + calendar.getTimeInMillis());

你可以参考这个@KIRAN CSN,我想自己使用日历实例这在
calendar
类中并不容易和自然。它设计拙劣,现在已经过时很久了。考虑将它扔掉,并添加到Android项目中,以便使用<代码> java.时间>代码>,java java日期和时间API。和你一起工作真是太好了。例如使用
ZoneDateTime.now(ZoneId.of(“亚洲/迪拜”))
。从链接的原始问题中,请参见和。它仍然给出了12月31日星期二15:40:11 GMT+2019年5:30,这是我使用代码的当前时间-new Gregoriacalendar(时区。getTimeZone(“亚洲/迪拜”)。getTime()@KIRAN CSNI检查了两个不同的时区,这是正确的