Calendar与Date的一点区别

public static void CalendarvsDate() throws ParseException{
		String s="2011";
		Calendar cal=Calendar.getInstance();
		cal.set(1,Integer.valueOf(s));
		Date date=cal.getTime();
		System.out.println("date 毫秒: "+date.getTime());
		System.out.println(date.getMonth()+1+" 月 "+date.getDate()+" 日 "+date.getHours()+" 时 "+date.getMinutes()+" 分 "+date.getSeconds()+" 秒 ");
		
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy");
		Date date1=sdf.parse(s);
		System.out.println("date1 毫秒: "+date1.getTime());
		System.out.println(date1.getMonth()+1+" 月 "+date1.getDate()+" 日 "+date1.getHours()+" 时 "+date1.getMinutes()+" 分 "+date1.getSeconds()+" 秒 ");
		
		Date now=new Date();
		System.out.println("now 毫秒: "+now.getTime());
		System.out.println(now.getMonth()+1+" 月 "+now.getDate()+" 日 "+now.getHours()+" 时 "+now.getMinutes()+" 分 "+now.getSeconds()+" 秒 ");
	}


运行结果
date 毫秒: 1298515988361
2 月 24 日 10 时 53 分 8 秒
date1 毫秒: 1293811200000
1 月 1 日 0 时 0 分 0 秒
now 毫秒: 1298515988376
2 月 24 日 10 时 53 分 8 秒

通过Calendar生成Date实例时,没有设置的域(年,月,日,时,分,秒,毫秒)会默认的用当前时间的对应的域进行设置。
通过SimpleDateFormat解析得到的时间如果相关的域没有设置,则用对应域的最小值来设置。
在实际应用时要注意下。

你可能感兴趣的:(calendar)