我正在尝试使用 TImeZone 值在日志文件中显示当前时间戳。但我可以观察到,对于同一位置的 2 个不同用户,时区的打印方式不同。
对于一个用户,它以 HST 作为区域 ID 显示,而对于其他用户,它以 GMT 显示。
GMT 的这个问题在 Note 2 设备中发生,在 Note 4 中没有问题。
下面是我如何获取时间戳的代码,
try {
Date date = new Date();
DateFormat df = new SimpleDateFormat("MM/dd/yyyy z:hh:mm:ss a");
df.setTimeZone(TimeZone.getDefault());
currentTimeStamp = df.format(date);
}
catch (Exception e) {
Log.e("Logger", "Error in getCurrentTimeStamp = " + e.getMessage(),e);
}
我期待的是这样的,
05/02/2015 HST:09:43:46 AM
但在注释 2 中它总是给我,
GMT-10:00:09:43:46 AM
我尝试更改手机的默认时区仍然没有成功。
谁能解释一下
最佳答案
HST 是 GMT-10,所以它给出正确的时间只是格式不同。
Greenwich Mean Time is 10 hours ahead of Hawaii Standard Time 7:04 PM Thursday, Hawaii Standard Time (HST) is 5:04 AM Friday, Greenwich Mean Time (GMT)
使用 Use DateFormat df = new SimpleDateFormat("MM/dd/yyyy z:hh:mm:ss a", Locale.US);
获取时区名称。
关于java - 将 GMT 作为时区而不是 HST 或 PDT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30116143/