0
我知道有一百万个类似的问题,但我很难找到正确的答案,所以如果有人能给我直接答案,我会很感激。计算两个不同格式日期之间的时间差
我从后端字符串一些日期格式为:
String days = "2016-12-01T15:43:42.2737987+01:00";
我的简单日子格式如下:
private DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.getDefault());
我试图让今天的日期是这样的:
String currentDateandTime = sdf.format(new Date());
和我在天计算差分方法如下:
public void daysBetween(String date1, String date2) {
Date mDate1;
Date mDate2;
try {
mDate1 = sdf.parse(date1);
mDate2 = sdf.parse(date2);
dateDiff = (mDate1.getTime() - mDate2.getTime())/(24 * 60 * 60 * 1000);
days = String.valueOf(dateDiff);
} catch (Exception e) {
e.printStackTrace();
}
}
所以这里的问题是,我无法解析“天”的字符串,因为,有时我得到7个位数秒,有时是2,依此类推......有没有一种方法来调整这两个日期为了得到不同的日子?
使用时区为“YYYY-MM-dd'T'HH:ss.SSSSSSS'Z':MM”日期格式,这应该为毫秒添加7个字段。如果该功能无效,请使用2个不同的formaters,一个用于2,另一个用于7个数字 – X3Btel
如果您不介意导入库,joda具有良好的时差功能。 – nasch
有7个字段或任何数字的东西,我不知道他们会有多少人......我正在处理的这个项目已经很大,所以添加更多的库不是真正的选择,如果它不是必要的:) ...有没有办法以某种方式排除秒和这个+01:00? – joe