最近写点东西时,要用到两个日期差,用Calendar总是算出来的日期差少一个月.后来翻看api文档时发现,
原来Calendar的月份是从0开始计算.
方法一:用Calendar类计算
-
import java.util.Calendar;
-
public class Date_3 {
-
public static void main(String[] args) throws ParseException {
-
Calendar love = Calendar.getInstance();
-
Calendar now = Calendar.getInstance();
-
love.set(2016, 8, 6); //真实的日期是2016-9-6;
-
int days = (int) ((now.getTimeInMillis() - love.getTimeInMillis()) / (24 * 60 * 60 * 1000.0));
-
System.out.println(days);
-
}
-
}
方法二:用Date类计算日期差
-
import java.text.ParseException;
-
import java.text.SimpleDateFormat;
-
import java.util.Date;
-
public class Time_2 {
-
public static void main(String[] args) throws ParseException {
-
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");//大小写还是很重要的
-
Date LoveDay=new Date();
-
Date now=new Date();
-
LoveDay=format.parse("2016-08-06");
-
int day=(int) ((now.getTime()-LoveDay.getTime())/(24*60*60*1000));
-
System.out.println(day);
-
}
-
}