使用设备的时区

时间:2013-04-29 13:58:17

标签: java android

在我的应用程序中,我想获取设备的时区,然后以简单的日期格式使用它,这是我的代码:

 Calendar cal = Calendar.getInstance();
        TimeZone tz = cal.getTimeZone();


        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'") ;
        sdf.setTimeZone(tz);

我从tz获得了正确的ID和显示名称,但代码在时间上无效。

2 个答案:

答案 0 :(得分:2)

你应该使用TimeZone.getDefault()

它根据程序运行的时区返回TimeZone。

答案 1 :(得分:0)

您正在设置TimeZone的{​​{1}},以便在本地时区打印出时间,但最后的SimpleDateFormat会打印出一个字母Z,这意味着世界标准时间。您应该删除它周围的引号,以便它在结尾打印实际时区,例如'Z'

尽管如此,您还没有提到是否使用+0100进行打印或解析。