Android使用SimpleDataFormat
我从以下服务器获取数据:Android使用SimpleDataFormat,android,Android,我从以下服务器获取数据: data = "2015-04-24T23:00:17+08:00" 我在UTC+8,我想得到 data = "2015-04-24 23:00:17" 我给这个编了程序 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ"); Data = formatter.parse(data); 但我明白了 Fri Apr 24 23:00:17 格林尼治标准时间+0800 2
data = "2015-04-24T23:00:17+08:00"
我在UTC+8,我想得到
data = "2015-04-24 23:00:17"
我给这个编了程序
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
Data = formatter.parse(data);
但我明白了
Fri Apr 24 23:00:17 格林尼治标准时间+0800 2015
我怎样才能纠正它
如果我使用
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-M-dd HH:mm:ss",Locale.ENGLISH);
我明白了
这不是我想要的您缺少一个
区域设置
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH);
请参阅。了解需要将日期格式更改为的所需输出
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH);
解析从服务器返回的日期后,就有了一个java.util.date对象。如果要转换为自己的格式,则必须再次格式化日期对象
private String getDate(String serverDate) {
SimpleDateFormat serverFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
try {
Date date = serverFormatter.parse(serverDate);
SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = myFormatter.format(date);
return formattedDate;
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
Try
SimpleDateFormat formatter=newsimpledateformat(“yyyy-MM-dd HH:MM:ss”,Locale.ENGLISH)代码>
private String getDate(String serverDate) {
SimpleDateFormat serverFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
try {
Date date = serverFormatter.parse(serverDate);
SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = myFormatter.format(date);
return formattedDate;
} catch (Exception e) {
e.printStackTrace();
}
return "";
}