1:日期类的创建 Calendar ca=Calendar.getInstance();
各个方法的使用
1:Date getTime() 获取当前日历对象中的日期
2:setTime(Date date) 在当前日历对象中设置日期
3:long getTimeInMillis() 获取当前日历对象中的时间毫秒数
4:setTimeInMillis(long millis) 给日历对象中设置毫秒数,这么设置会改变当前的日期, 因为此操作也是一种设置日期的方式。
即就是设置日期有两种方式,一种是直接通过日期的形式 使用对应的set方法将日期放进这个日历对象中,还有一种方式是通过设置毫秒数来设置日期的。
部分代码:
/**
* 计算两个日期之间间隔多少天
*/
public static int daysBetween(Date smdate,Date bdate) throws ParseException
{
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
cal.setTime(smdate);
long time1 = cal.getTimeInMillis();
cal.setTime(bdate);
long time2 = cal.getTimeInMillis();
long between_days=(time2-time1)/(1000*3600*24);
return Integer.parseInt(String.valueOf(between_days));
}
/**
* 计算日期加固定天数后的日期
*/
public static Date dateAddDays(Date date,int days) {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Calendar cl = Calendar.getInstance();
cl.setTime(date);
cl.add(Calendar.DATE, days);
return cl.getTime();
}
/**
* 计算日期 根据上送的 参数的正负来确定是 上个月还是下个月
* @param date
* @param days
* @return
*/
public static Date getbeferDate(int i) {
Date date1=new Date();
Calendar cl = Calendar.getInstance();
cl.setTime(date1);
cl.add(Calendar.MONTH, i);
return cl.getTime();
}
/**
* 计算每个月的第一天
/
public static Date getFirstDay(Date month) {
Calendar cale = null;
cale = Calendar.getInstance();
cale.setTime(month);
// cale.add(Calendar.MONTH, 0);
cale.set(Calendar.DAY_OF_MONTH, 1);
return cale.getTime();
}
/**
*计算某个月的最后一天
*/
public static Date getEndDay(Date month) {
Calendar cale = null;
cale = Calendar.getInstance();
cale.setTime(month);
cale.add(Calendar.MONTH, 1);
cale.set(Calendar.DAY_OF_MONTH, 0);
return cale.getTime();
}
public static Date toMonth(Date month) throws ParseException {
Calendar cale = null;
cale = Calendar.getInstance();
cale.setTime(month);
SimpleDateFormat sdf=new SimpleDateFormat("yyyyMM");
String s=sdf.format(cale.getTime());
return sdf.parse(s);
}
/**
* 字符串转 日期
* @param month
* @return
* @throws ParseException
*/
public static Date str8Date(String str) throws ParseException {
SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd");
return sdf.parse(str);
}
public static Date getPreviousDate(Date date,int a) {
Calendar cale = null;
cale = Calendar.getInstance();
cale.setTime(date);
int c=cale.get(Calendar.DATE);
cale.set(Calendar.DAY_OF_MONTH,c+a);
return cale.getTime();
}