Java 将GMT作为时区而不是HST或PDT
我试图在日志文件中用时区值显示当前时间戳。但我可以观察到,对于同一位置的两个不同用户,时区的打印方式不同 对于一个用户,它以HST作为区域id显示,对于另一个用户,它以GMT显示 GMT的此问题发生在Note 2设备中,Note 4中没有问题 下面是我如何获得时间戳的代码Java 将GMT作为时区而不是HST或PDT,java,android,timezone,simpledateformat,Java,Android,Timezone,Simpledateformat,我试图在日志文件中用时区值显示当前时间戳。但我可以观察到,对于同一位置的两个不同用户,时区的打印方式不同 对于一个用户,它以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");
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,所以它给出了正确的时间,只是格式不同 格林威治标准时间比夏威夷标准时间提前10小时 夏威夷标准时间(HST)周四下午7:04 格林威治标准时间(GMT)周五上午5:04
使用
Use DateFormat df=new SimpleDateFormat(“MM/dd/yyyy z:hh:MM:ss a”,Locale.US)
获取时区名称。是的,我知道了。。但是我只想用HST打印,而不是GMT。这个问题发生在Note2 Device中。您是否尝试过SimpleDateFormat的本地化版本?公共SimpleDataFormat(字符串模板,区域设置)您能解释一下吗?使用DateFormat df=new SimpleDataFormat(“MM/dd/yyyy z:hh:MM:ss a”,Locale.US);你救了我!!!干杯,它起作用了。你能更新你的答案让我接受吗。非常感谢,这真让我受不了