将GMT作为时区而不是HST或PDT

时间:2015-05-08 05:03:02

标签: java android timezone simpledateformat

我正在尝试使用TImeZone值显示日志文件中的当前时间戳。但我可以观察到,对于同一位置的2个不同用户,时区的打印方式不同。

对于一个用户,它以HST显示为区域ID,而对于其他用户则显示为GMT。

GMT的这个问题发生在Note 2设备中,注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 

我尝试更改手机的默认时区仍然没有运气。

任何人都可以解释一下

1 个答案:

答案 0 :(得分:2)

HST是GMT-10所以只给出正确的时间格式不同。

  

格林威治标准时间比夏威夷标准时间提前10小时   星期四下午7:04,夏威夷标准时间(HST)是   格林威治标准时间(格林威治标准时间)周五上午5:04

使用Use DateFormat df = new SimpleDateFormat("MM/dd/yyyy z:hh:mm:ss a", Locale.US);获取TimeZone名称。