日期增加一天、一周、一年
代码示例
// 获取当前时间
date=new date();
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
// 把日期往后增加一天,整数 往后推,负数往前移动
calendar.add(calendar.DATE, 1);
// 这个时间就是日期往后推一天的结果
date=calendar.getTime();
推迟一周示例:
Calendar curr = Calendar.getInstance(); //获取当前时间
curr.set(Calendar.DAY_OF_MONTH,curr.get(Calendar.DAY_OF_MONTH)+7); //给当前时间增加一周
Date date=curr.getTime();//获取新的时间
推迟一个月示例:
Calendar curr = Calendar.getInstance();
curr.set(Calendar.MONTH,curr.get(Calendar.MONTH)+1); //增加一月
Date date=curr.getTime();
推迟一年示例:
Calendar curr = Calendar.getInstance();
curr.set(Calendar.YEAR,curr.get(Calendar.YEAR)+1); //增加一年
Date date=curr.getTime();
判断是否是润年
//判断是否是闰年
int years=curr.get(Calendar.YEAR);
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
//判断是否闰年,闰年366天
days = 366;
}else{
days=365;
}
获取今天是星期几
String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
// String[] weekDays = {"星期六","星期日", "星期一", "星期二", "星期三", "星期四", "星期五"};
Calendar calendar=Calendar.getInstance();
System.out.println("今天是中国的"+weekDays[calendar.get(Calendar.DAY_OF_WEEK)-1]);
System.out.println("得到外国的今天是这一周的第"+calendar.get(Calendar.DAY_OF_WEEK)+"天");
完整方法
/**
* 获取当前日期是星期几
*
* @param dt
* @return 当前日期是星期几
*/
public static String getWeekOfDate(Date dt) {
String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
Calendar cal = Calendar.getInstance();
cal.setTime(dt);
int w = cal.get(Calendar.DAY_OF_WEEK) - 1;
if (w < 0)
w = 0;
return weekDays[w];
}
测试类
import java.util.Calendar;
import java.util.Date;
public class cs {
public static void main(String[] args) {
String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
Calendar cal = Calendar.getInstance();
Date date = new Date();
cal.setTime(date);
int w = cal.get(Calendar.DAY_OF_WEEK) - 1;
if (w < 0)
w = 0;
System.out.println(weekDays[w]);
//今天是几号
int day=date.getDate();
System.out.println("Today is :"+day+"号");
Calendar c=Calendar.getInstance();
c.setTime(date);
//今天是这个星期的第几天
c.setTime(date);
int dayForWeek = 0 ;
if (c.get(Calendar.DAY_OF_WEEK) == 1 ){
dayForWeek = 7 ;
}else {
dayForWeek = c.get(Calendar.DAY_OF_WEEK) - 1 ;
}
System.out.println("week:"+dayForWeek);
//当前月的最后一天是几号
int lastday=c.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println("这个月最后一天是:"+lastday+"号");
}
}