过去几天一直是个噩梦,我甚至考虑卸载然后重新安装Android Studio,看看我的构建是否是问题。
我正在做的应用需要图片中的时间戳,时间戳也必须显示时区。 我试过通常的
Calendar now = Calendar.getInstance();
TimeZone timeZone = now.getTimeZone();
方法和我拥有的所有Android测试设备,都返回GMT 00:00。我花了两天时间试图找出为什么所有stackOveflow示例都不起作用并且认为它必须是我的构建,因为即使更改设备上的时区仍然导致返回GMT时间。 在我卸载之前,我遇到了解决方案。
答案 0 :(得分:0)
解。我找到的答案是针对另一个问题,但它对我有用。 首先将时区设置为Null,然后选择正确的设备时区。 如果在模拟器上,时区将保持UTC。
TimeZone.setDefault(null);
System.setProperty("user.timezone", "");
TimeZone.setDefault(null);
//get Calendar instance
Calendar now = Calendar.getInstance();
//get current TimeZone using getTimeZone method of Calendar class
TimeZone timeZone = now.getTimeZone();
//display current TimeZone using getDisplayName() method of TimeZone class
String strTimeZone=timeZone.getDisplayName(false,TimeZone.SHORT);
long lngTimeZoneOffset= timeZone.getRawOffset();
我希望这可以节省一些日常的头发。