在我的应用程序中,我想获取设备的时区,然后以简单的日期格式使用它,这是我的代码:
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和显示名称,但代码在时间上无效。
答案 0 :(得分:2)
你应该使用TimeZone.getDefault()
它根据程序运行的时区返回TimeZone。
答案 1 :(得分:0)
您正在设置TimeZone
的{{1}},以便在本地时区打印出时间,但最后的SimpleDateFormat
会打印出一个字母Z,这意味着世界标准时间。您应该删除它周围的引号,以便它在结尾打印实际时区,例如'Z'
。
尽管如此,您还没有提到是否使用+0100
进行打印或解析。