我得到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();
}
答案 0 :(得分:2)
首先,由于您的输入有毫秒,请修复格式字符串:
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
然后你有两个选择:
在致电parse()
之前添加以下声明:
format.setTimeZone(TimeZone.getTimeZone("UTC"));
更改格式以在输入字符串中使用时区:
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX");
我会建议第二个。