Java常用类——Calendar

calenar

Calendar类是java.util包中提供的一个抽象类,该类从JDK1.1开始出现,作为Date类的替代方案,Calendar类中包 含了对不同国家地区日历的处理,Calendar类常见的子类为:java.util.GregorianCalendar;获取Calendar对象一 般使用类中提供的静态方法:getInstance(),有关Calendar类的具体使用如下:

public class CalendarDemo {
   public static void main(String[] args) {
           // 获取一个Calendar实例(以当前系统时间为依据)
           Calendar c = Calendar.getInstance();          
           // 获取日历所表示日期中的年份          
           System.out.println(c.get(Calendar.YEAR));          
           // 获取日历所表示日期中的月份          
           System.out.println(c.get(Calendar.MONTH) + 1);          
           // 获取日历所表示日期月份中的天数          
           System.out.println(c.get(Calendar.DAY_OF_MONTH));            
           // 获取小时数          
           System.out.println(c.get(Calendar.HOUR));          
           // 获取分钟数          
           System.out.println(c.get(Calendar.MINUTE));          
           // 获取秒钟数          
           System.out.println(c.get(Calendar.SECOND));                   
           //设置日历中指定字段的值          
           c.set(Calendar.MONTH, 5);           
           //获取当前日历所表示的字段具备的大值          
           System.out.println(c.getActualMaximum(Calendar.DAY_OF_MONTH));                   
           //设置日历中的日期为月份中的第一天          
           c.set(Calendar.DAY_OF_MONTH, 1);          
           //当前月份的第一天是星期几?(周天是第一天)          
           System.out.println(c.get(Calendar.DAY_OF_WEEK));                            
           System.out.println(c); 
                    } 
                         }

基于Calendar类的动态日历

package com.softeem.demo;

import java.util.Calendar;
import java.util.Scanner;

public class Demo1 {
	
	public static void main(String[] args) {
		
		System.out.println("请输入年份:");
		Scanner sc = new Scanner(System.in);
		int i = sc.nextInt();
		System.out.println("请输入月份:");
		Scanner sc1 = new Scanner(System.in);
		int i1 = sc1.nextInt();
		System.out.println("=======================日历=========================");
		System.out.println("七\t一\t二\t三\t四\t五\t六");
		Calendar c = Calendar.getInstance();
		int a = c.get(Calendar.DAY_OF_MONTH);
		c.set(Calendar.YEAR, i);
		c.set(Calendar.MONTH, i1-1);
		c.set(Calendar.DAY_OF_MONTH, 1);
		int j = c.get(Calendar.DAY_OF_WEEK);
		int m = c.getActualMaximum(Calendar.DAY_OF_MONTH);
		
		for(int n = 1;n<j;n++){
			System.out.print("\t");
		}
		for(int count = 1;count <=m;count ++){
			
			c.set(Calendar.DAY_OF_MONTH, count);
			int b = c.get(Calendar.DAY_OF_WEEK);
			if((count+j-2)%7 == 0){
				System.out.println();
			}if(b == 1 || b == 7){
				System.out.print("["+count+"]"+"\t");
			}else if(count == a){
				System.out.print("*"+count+"\t");
			}else{
			System.out.print(count+"\t");
			}
		   }
		}
		
	}


运行截图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值