This question already has answers here:
Parsing ISO 8601 date format like 2015-06-27T13:16:37.363Z in Java [duplicate]
(2个答案)
3年前关闭。
我得到这样的GMT格式的时间字符串值:“ 2000-01-01T12:00:00.000Z”,我想将其转换为某种可读的日期/时间格式。我不知道该怎么做
我正在使用以下代码,但似乎无法正常工作
然后,您有两个选择:
在调用
更改格式以在输入字符串中使用时区:
我建议第二个。
(2个答案)
3年前关闭。
我得到这样的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();
}
最佳答案
首先,由于您的输入以毫秒为单位,因此请修复格式字符串:
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");
我建议第二个。
08-18 20:33