我有两个日期是字符串类型。如何计算不考虑毫秒的天数?
此代码为我提供了日期之间的毫秒数:
try {
SimpleDateFormat myFormat = new SimpleDateFormat("yyyy-MM-dd");
String inputString1 = 23-11-2018;
String inputString2 = 24-11-2018;
Date date1 = myFormat.parse(inputString1);
Date date2 = myFormat.parse(inputString2);
diff = date2.getTime() - date1.getTime();
} catch (ParseException e) {
e.printStackTrace();
}
答案 0 :(得分:1)
尝试一下...
SimpleDateFormat myFormat = new SimpleDateFormat("yyyy-MM-dd");
String inputString1 = "2017-04-01";
String inputString2 = "2018-04-01";
try {
Date date1 = myFormat.parse(inputString1);
Date date2 = myFormat.parse(inputString2);
long diff = date2.getTime() - date1.getTime();
System.out.println ("Days: " + TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS));
} catch (ParseException e) {
e.printStackTrace();
}
如果不想使用毫秒,而必须使用Joda Time,这是一个更好的API。然后您可以使用:
int days = Days.daysBetween(date1, date2).getDays();
答案 1 :(得分:0)
您可以通过计算来计算天数
int days = (int) (diff / (1000*60*60*24));