Android将GMT转换为当前时间

时间:2017-04-15 22:19:30

标签: java android date format

我得到GMT格式的字符串值,如下所示:" 2000-01-01T12:00:00.000Z"我想将其转换为一些可读的日期/时间格式。我不知道该怎么做

我使用以下代码,但它似乎无法正常工作

        schedules = matrix.get("schedules").getAsJsonArray();
        schedules_array = schedules.get(0).getAsJsonObject();
        final String open = schedules_array.get("open").getAsString();

        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
        try {
            Date date = format.parse(open);
            Log.d("OPEN", String.valueOf(date));
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

1 个答案:

答案 0 :(得分:2)

首先,由于您的输入有毫秒,请修复格式字符串:

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");

然后你有两个选择:

  1. 在致电parse()之前添加以下声明:

    format.setTimeZone(TimeZone.getTimeZone("UTC"));
    
  2. 更改格式以在输入字符串中使用时区:

    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX");
    
  3. 我会建议第二个。