Java中日期加减的函数(Calender类)

Calendar中就有了不同的定义: . public final static int ERA = 0;

  • public final static int YEAR = 1;
  • public final static int MONTH = 2;
  • public final static int WEEK_OF_YEAR = 3;
  • public final static int WEEK_OF_MONTH = 4;
  • public final static int DATE = 5;
  • public final static int DAY_OF_MONTH = 5;
  • public final static int DAY_OF_YEAR = 6;
  • public final static int DAY_OF_WEEK = 7;
  • public final static int DAY_OF_WEEK_IN_MONTH = 8;
  • public final static int AM_PM = 9;
  • public final static int HOUR = 10;
  • public final static int HOUR_OF_DAY = 11;
  • public final static int MINUTE = 12;
  • public final static int SECOND = 13;

这 些定义是不同记录方法的标识,在此没有列举完全,感兴趣的话可以看一下Calendar的源代码。 这些就是Calendar的Field,根据不同需求可以去取不同的Field,不同的记录方法也是不同的的Filed。 如,要得到以下输出结果,可参照代码段1-1:

  • 今 天是2006年11月3日 是今年的第307天 c.getTime()的結果: Fri Nov 03 11:31:47 CST 2006 new Date()的結果: Fri Nov 03 11:31:47 CST 2006 17天后是Thu Feb 02 11:31:47 CST 2006

代码段1-1import java.util.*;

public class test1 {

  • public static void main(String[] args) {
    • Calendar c = Calendar.getInstance();
    • int year=c.get(Calendar.YEAR);
    • int month=c.get(Calendar.MONTH)+1;

    • int date=c.get(Calendar.DATE);
    • System.out.println("今天是"+year+"年"+month+"月"+date+"日");
    • System.out.println("是今年的第"+c.get(Calendar.DAY_OF_YEAR)+"天");
    • System.out.println("c.getTime()的結果: "+c.getTime());
    • System.out.println("new Date()的結果: "+new Date());
    • c.set(Calendar.DAY_OF_YEAR, date + 30);
    • System.out.println("17天后是"+c.getTime());
    }

}

注意int month=c.get(Calendar.MONTH)+1哦,好像系统是从0开始计月份,到了12月就归零了。所以单独取月份时,要在后面加一才能得到当前的月份。

你可能感兴趣的:(java,C++,c,C#)