日期类统一使用案例--打印日历

 

 

1 使用到的类: Date DateFormat  Calendar

 

2 代码:

 

public static void main(String[] args) throws ParseException {

		System.out.println("请输入日期,eg:2013-11-23");
		Scanner scanner = new Scanner(System.in);
		String dateStr = scanner.nextLine();
		
		DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
		Date date = dateFormat.parse(dateStr);
		
		//Date date = new Date();// 当前日期
		Calendar calendar = new GregorianCalendar();
		calendar.setTime(date);
		int today = calendar.get(Calendar.DATE);
		//System.out.println(today);
		// 得到当前月一共的天数
		int actualDays = calendar.getActualMaximum(Calendar.DATE);
		// 得到当天是周几:
		//int dayofweek = calendar.get(Calendar.DAY_OF_WEEK);
		//System.out.println("dayofweek: " + dayofweek); // 真实中 今天是是6  今天是周五
		calendar.set(Calendar.DATE, 1); // 看这个月1号是周几
		int firstDayOfweek = calendar.get(Calendar.DAY_OF_WEEK);
		
		//System.out.println("dayofweek: " + firstDayOfweek); // 结果是5   是周四
		
		System.out.print("日\t一\t二\t三\t四\t五\t六");
		System.out.println();
		for(int i=1; i<firstDayOfweek; i++ ){
			System.out.print("\t");
		}
		for(int i=1; i<=actualDays; i++) {
			if(today == i){
				System.out.print("*" + i + "\t");
			}else{
				System.out.print(i + "\t");
			}
			
			
			/*if(i%7 == 0) {
				System.out.println();
			}*/
			if(calendar.get(Calendar.DAY_OF_WEEK) == 7){ // 以下代码仅仅是控制换行作用 取代i方式来换行
				System.out.println();
			}
			calendar.add(Calendar.DATE, 1);
		}
	}

 

 

 

3 结果:

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值