最近写点东西时,要用到两个日期差,用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);
}
}