首页 > 代码库 > slz-Date中的Calendar类

slz-Date中的Calendar类

Calendar(日历)
多维度的运算(年月日时分秒),维度是一个具有非常高的商业价值
 
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//格式化时间表示
 
Calendar c=new Calendar();
int year=c.get(Calendar.YEAR);//get,获得今年的年份
int year_18=c.set(Calendar.YEAR,year+18);//set.设置18年后的年份
 
以下代码是3个星期之前的星期2是哪一天
  •         Calendar c=Calendar.getInstance();
             c.add(Calendar.DAY_OF_YEAR,-21);//三个星期就是21天
             int a=c.get(Calendar.DAY_OF_WEEK);//得到三个星期前的今天是这个星期的第几天
             switch (a){ 
             case 1 : c.add(Calendar.DAY_OF_WEEK,+2); break; //第一天就是星期天,所以要加2
             case 2 : c.add(Calendar.DAY_OF_WEEK,+1); break; 
             case 3 : c.add(Calendar.DAY_OF_WEEK,+0); break; 
             case 4 : c.add(Calendar.DAY_OF_WEEK,-1); break; 
             case 5 : c.add(Calendar.DAY_OF_WEEK,-2); break; 
             case 6 : c.add(Calendar.DAY_OF_WEEK,-3); break; 
             case 7 : c.add(Calendar.DAY_OF_WEEK,-4); break; 
             } 
             String a1=c.get(Calendar.YEAR)+"";//得到修改后的年份
             String b1=(c.get(Calendar.MONTH)+1)+"";//得到修改后的月份
             String c1=c.get(Calendar.DATE)+"";//得到修改后的号数
             String day1=a1+"-"+b1+"-"+c1;
             System.out.println(day1);
 
 
以下代码是计算今天到中秋节还有几天
public long abc() {
   long days=0;
   try{
   SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
   String nowtime="2017-10-04";//这个日期就是中秋节的日期
   Date zqj=sdf.parse(nowtime);//把String转换成Date
   Date day=new Date();
   String data=http://www.mamicode.com/sdf.format(day);
   Date today=sdf.parse(data);
   long l=zqj.getTime()-today.getTime();//将Date型的两个日期进行减法运算,得到的是毫秒
   days=l/(24*60*60*1000);//与当前时间的间隔天数
   }
   catch (Exception e) {
          System.out.println("发生异常"+e.getMessage());
  }
        return days;
  }
  
  
  int year = c.get(Calendar.YEAR);    //获取年
  int month = c.get(Calendar.MONTH) + 1;   //获取月份,0表示1月份
  int day = c.get(Calendar.DAY_OF_MONTH);    //获取当前天数
  int first = c.getActualMinimum(c.DAY_OF_MONTH);    //获取本月最小天数
  int last = c.getActualMaximum(c.DAY_OF_MONTH);    //获取本月最大天数
  int time = c.get(Calendar.HOUR_OF_DAY);       //获取当前小时
  int min = c.get(Calendar.MINUTE);          //获取当前分钟
  int xx = c.get(Calendar.SECOND);          //获取当前秒
  c.add(Calendar.MONTH, -1);//上个月
 

slz-Date中的Calendar类