>我有来自服务器的数据返回
"createdAt": "2019-01-21T09:55:01.546Z"
我已经将该字符串转换为Date
所以现在我的约会是这样的:
"Sunday, 01-12-2019 09.55 am"
我的问题是我希望时间偏移量为+7或UTC+7
我已经这样做了:
String dateData = response.body().getCreatedAt();
SimpleDateFormat inputDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
SimpleDateFormat outputDate = new SimpleDateFormat("EEEE, dd-MM-yyyy hh:mm a", Locale.getDefault());
Date date = null;
try{
date = inputDate.parse(dateData);
} catch (ParseException e) {
e.printStackTrace();
}
inputDate.setTimeZone(TimeZone.getTimeZone("UTC"));
outputDate.setTimeZone(TimeZone.getTimeZone("UTC+7"));
mPosted.setText(outputDate.format(date));
但结果还是一样。奇怪的是,当我更改outputDate.setTimeZone(TimeZone.getTimeZone("UTC"));
时间结果更改为上午 02.55 时。
如何将其更改为 +7? 所以时间应该是下午 4.55
试试这个
try {
SimpleDateFormat ip_format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.ENGLISH);
ip_format.setTimeZone(TimeZone.getTimeZone("UTC"));
SimpleDateFormat outFormat = new SimpleDateFormat("EEEE, dd-MM-yyyy hh:mm a", Locale.ENGLISH);
outFormat.setTimeZone(TimeZone.getTimeZone("GMT+07:00"));
Date date = null;
date = ip_format.parse(dateData);
System.out.println("date" + date.toString());
} catch (Exception e) {
e.printStackTrace();
}