我需要在我的应用中获取当地时间。我正在使用Calendar类用于此目的。在android中获取默认时区
代码:
Calendar calendar = Calendar.getInstance();
calendar.get(Calendar.HOUR_OF_DAY)
显示小时根据GMT。
我检查了TimeZone.getDefault().getDisplayName()
显示GMT(这是不正确的)作为默认的时区,但java.util.TimeZone.getDefault().getDisplayName()
显示正确的时区。 另外calendar.getTime().toString()
显示正确的时间。
我不明白为什么有android.icu.util.TimeZone
和java.util.TimeZone
编辑之间的这种差异:
最近我发现有两个日历的API - java.util.Calendar中(API等级加1)和android.icu.util.Calendar(在API级别24中添加)。
我一直在使用android.icu.util.Calendar了,但测试它在Android M.所以,现在我将使用API的java.util.Calendar
http://stackoverflow.com/questions/5369682/get-current-time-and-date-on-android – Nabin
@NabinKhadka我收到时间GMT时区。但我的要求是为本地时区腾出时间。 – arora
你可以使用TimeZone.getDefault()它给你默认的时区和日历实例默认情况下挑选默认时区 – Aditi