在Android中,CST格式的解析日期落后一天
我试图将UTC日期解析为CST,但它总是落后一天返回在Android中,CST格式的解析日期落后一天,android,Android,我试图将UTC日期解析为CST,但它总是落后一天返回 String date = "2015-01-01T00:00:00"; String sourceFormat = "yyyy-MM-dd'T'HH:mm:ss"; String targetFormat = "MM/dd/yyyy"; SimpleDateFormat sdf = new SimpleDateFormat(sourceFormat); sdf.setTimeZone(TimeZone.getTime
String date = "2015-01-01T00:00:00";
String sourceFormat = "yyyy-MM-dd'T'HH:mm:ss";
String targetFormat = "MM/dd/yyyy";
SimpleDateFormat sdf = new SimpleDateFormat(sourceFormat);
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
Date strDate = new Date();
try {
strDate = sdf.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
SimpleDateFormat sdf2 = new SimpleDateFormat(targetFormat);
sdf2.setTimeZone(TimeZone.getDefault()); // Phone is set to GMT - 6 Hours America
return sdf2.format(strDate);
这将返回“2014年12月31日”,该日期晚于一个日期
如果我使用我的sourceFormat作为目标格式,则返回“2014-12-31T18:00:00”,“12/31/2014”,即延迟一个日期。我想那是前一天。或者更早。