zoukankan      html  css  js  c++  java
  • 可视化日历(2)

    package chengbaoDemo;
    
    
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.GregorianCalendar;
    /**
     * SimpleDateFormat
     *它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期) 
     *
     *可以化日历
     * 
     */
    public class Test02 {
        public static void main(String[] args) {
            
            for (int i = 1; i <= 12; i++) {
                printOneMonth(2016, i);
                System.out.println("
    ");
            }
             
        }
        /**
         *打印每个月的样式表<br>
         *@param   int year  
         *@param   int month
         *@param   int month 
         *@param   boolean isSearch <br>
         *        true  将要查找的天标记
         *        false 不标记
         */
        public static void printOneMonth(int year, int month, int day, boolean isSearch) {
             System.out.println(month + "月");
            //将输入数字,字符串格式化
            String dStr = String.format("%4d%02d%02d", year, month, day);
            //(1)格式化   DateFormat
            DateFormat df = new SimpleDateFormat("yyyyMMdd");
            Date d = null;
            try {
                //将字符串解析为时间
                d = df.parse(dStr);
            } catch (ParseException e) {
    
                e.printStackTrace();
            }
            
            
            //(2)日期字段的含义Calendar 
            Calendar c = new GregorianCalendar();
            c.setTime(d);
            //获取所要查找的那一天
            int srcDay = -1;
            if (isSearch)
                srcDay = c.get(Calendar.DAY_OF_MONTH);
             
            //本月总天数
            int days = c.getActualMaximum(Calendar.DAY_OF_MONTH);
            
            //设置日期为1号
            c.set(Calendar.DATE, 1);
            //获取1号是周几
            int dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
            //打印表头
            System.out.println("日	一	二	三	四	五	六");
            //打印每月第一天前的空格
            for (int i = 1; i < dayOfWeek; i++) {
                System.out.print("	");
            }
            //打印一个月的情况
            for (int i = 1; i <= days; i++) {
                //标注所要查找的那天
                if (srcDay == i) {
                    System.out.print("#");
                }
                dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
                System.out.print(i + "	");
                //每到周六换行
                if (dayOfWeek == 7) {
                    System.out.println();
                }
                c.add(Calendar.DATE, 1);
                
            }
            
             
     
        }
        
        
        /**
         *重载<br>
         *打印每个月的样式表<br>
         *@param   int year  
         *@param   int month
         *@param   int month 
         *@param   boolean isSearch <br>
         *        false 不标记
         */
        public static void printOneMonth(int year, int month) {
            printOneMonth(year, month, 1, false);
        }
        
    
    }
  • 相关阅读:
    vsftpd不支持目录软链接的解决办法
    SVN添加忽略目录
    Mysql 默认编码问题
    php-fpm 信号
    基于MAVEN使用IDEA创建dubbo入门项目图文教程
    taotao商城遇到的问题
    git push后出错
    Mybatis逆向工程自动生成代码(Ubuntu18.04-idea环境)
    git add.后回退 代码丢失
    对象的共享
  • 原文地址:https://www.cnblogs.com/chengbao/p/5185600.html
Copyright © 2011-2022 走看看