-2

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

 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 和显示名称,但代码无法正常工作。

4

2 回答 2

2

你应该使用TimeZone.getDefault()

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

于 2013-04-29T14:01:06.317 回答
0

您正在设置TimeZoneofSimpleDateFormat以便它打印出您当地时区的时间,但'Z'最后打印出一个文字字母 Z,这意味着 UTC。您应该删除它周围的引号,以便它在最后打印实际时区,例如+0100.

也就是说,您还没有提到您是使用SimpleDateFormat打印还是解析。

于 2013-04-29T16:15:49.453 回答