日历类

日历类

public class CalenderTest {

    public static void main(String[] args) {
        //日历类 -- instance是日历对象 用来调用日历方法 instance.setTime instance.add等
        //Calendar日历类直接使用 读取日历时间 Calendar.YEAR Calendar.MONTH等
        Calendar instance = Calendar.getInstance();
        System.out.println(instance); //不可读

        //获取日历中的year month
        System.out.println(instance.get(Calendar.YEAR));
        System.out.println(instance.get(Calendar.MONTH) + 1);  //日历类的月份从0开始
        System.out.println(instance.get(Calendar.DATE)); //月中日
        System.out.println(instance.get(Calendar.DAY_OF_YEAR)); //年中日

        //setTime方法传入指定日期到日历对象中
        instance.setTime(new Date());
        //对日历对象的属性进行修改
        instance.add(Calendar.YEAR, 1); //加一年
    }
}

练习 - 打印当前日历

public class PrintDate {
    public static void main(String[] args) {

        //打印当月日历
        System.out.println("一\t二\t三\t四\t五\t六\t日");

        //获取当前日期的日历对象
        Calendar firstDate = Calendar.getInstance();
        //把日历对象设定为当前月的第一天
        firstDate.set(Calendar.DAY_OF_MONTH,1); //将月中日 设为1
        //获取当前月最大的日期
        int maxDay = firstDate.getMaximum(Calendar.DAY_OF_MONTH);

        //循环打印
        for (int i = 0; i < maxDay; i++) {
            //本月第一天日期是周几 是几号
            int dayOfWeek = firstDate.get(Calendar.DAY_OF_WEEK);
            int dayOfMonth = firstDate.get(Calendar.DAY_OF_MONTH);

            //一号前的日期不打印
            if(i==0){
                //一号是周日需要换行
                if(dayOfWeek == Calendar.SUNDAY){
                    //周日前空6天
                    for (int i1 = 0; i1 < 6; i1++) {
                        System.out.print("\t");
                    }
                    System.out.println(dayOfMonth);
                }else{
                    //一号不是周日 前面空几天取决于是周几
                    for (int i1 = 0; i1 < dayOfWeek-1; i1++) {
                        System.out.print("\t");
                    }
                    System.out.print(dayOfMonth);
                }

            }else{
                //不是一号 判断是否为周日-是否需要换行
                if( dayOfWeek == Calendar.SUNDAY){
                    System.out.println(dayOfMonth);
                }else{
                    System.out.print(dayOfMonth);
                    System.out.print("\t"); //不换行时打印间隔
                }
            }

            //打印日历后增加一天
            firstDate.add(Calendar.DATE,1);
        }
    }
}
posted @   LaViez  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示