评:当需要细致操作数据需用到Calendar。(如获取年份,某天是星期几,时分秒等等)
/** * 日历 * 常用常量 * YEAR: 年 * MONTH :月 (0-11) DATE:日 DAY_OF_MONTH :日 HOUR:小时 MINTUES:分钟 SECOND:秒 DAY_OF_WEEK :一周的第几天 (1-7:星期天 1 -->星期六7) * * * 1、 add(int field, int amount) :在原有的数据上增加 * 2、get(int field) * 3、getActualMaximum(int field) * 4、set(int field, int value) :设定一个新的值* garview
* * @Date 2013-10-25下午09:16:13 */ public class CalendarDemo {//获取当前时间日历类
private static Calendar cal = Calendar.getInstance();public static void main(String[] args) {
test0(); //test(); } /** * * 日历与Date、long对象间的相互转换 * 1、setTime(Date date) * setTimeInMillis(long millis) * 2、 * Date getTime() * long getTimeInMillis() * @param * void * @Date 2013-10-25下午09:34:20 */ public static void test0(){ //根据Date、long设置Calendar对象 cal.setTime(new Date()); cal.setTimeInMillis(System.currentTimeMillis()); //Calendar对象返回Date、long数据 System.out.println(cal.getTime()); System.out.println(cal.getTimeInMillis()); } //获取修改某字段的值 public static void test() { //增加日历的年、月、日 cal.add(Calendar.YEAR, 1); cal.add(Calendar.MONTH, 1); cal.add(Calendar.DAY_OF_MONTH, 1); DateFormatDemo.print(cal); //获取日历某字段值 System.out.println(cal.get(Calendar.YEAR)+"\t"+cal.get(Calendar. DAY_OF_WEEK)); //getActualMaximum(int field)API解释 /*给定此 Calendar 的时间值,返回指定日历字段可能拥有的最大值。 例如,在某些年份中,MONTH 字段的实际最大值是 12,而在希伯来日历系统的其他年份中,该字段的实际最大值是 13。*/ System.out.println(cal.getActualMaximum(Calendar.DAY_OF_MONTH)); System.out.println(cal.getActualMaximum(Calendar.YEAR)); System.out.println(cal.getActualMaximum(Calendar.MONTH)); System.out.println(cal.getActualMaximum(Calendar.DAY_OF_WEEK)); //设置为一月 cal.set(Calendar.MONTH, 0); } }