zoukankan      html  css  js  c++  java
  • ca

    import java.util.Calendar;
    import java.util.GregorianCalendar;
    import java.util.Locale;
    import java.util.Date;
    import java.util.regex.Pattern;
    import java.util.StringTokenizer;
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;

    public class VCalendar
    {

        private int [] days = new int[42];
        private int [][]allDays = new int[6][7];
        
        private static final Locale DEFAULT_LOCALE = Locale.CHINESE;
        
        private static final String YEAR_SUFFIX = "年";
        
        private static final String MONTH_SUFFIX = "月";
        
        private static final String DAY_SUFFIX = "日";

        private Calendar currentCalendar;
        
        public int getFirstDayOfWeek()
        {
            Calendar cal = Calendar.getInstance(DEFAULT_LOCALE);
            cal.setTime( this.currentCalendar.getTime() );
            cal.set( Calendar.DATE, 1 );
            return  cal.get(Calendar.DAY_OF_WEEK);
        }
        
        public VCalendar(Calendar newCalendar)
        {
            if ( newCalendar != null )
            {
                this.currentCalendar = newCalendar;
            }
        }
        public VCalendar ()
        {
            this( Calendar.getInstance(DEFAULT_LOCALE));
        }
        
        public VCalendar(int year, int month, int day)
        {
            this();
            this.setYear(year);
            this.setMonth(month);
            this.setDay(day);
        }
        
        public void setYear(int year)
        {
            this.currentCalendar.set( Calendar.YEAR, year );
        }
        
        public void setMonth(int month)
        {
          this.currentCalendar.set( Calendar.MONTH, month - 1 );
        }
        
        public void setDay(int day)
        {
            this.currentCalendar.set( Calendar.DAY_OF_MONTH, day );
        }
        
        public int  getYear()
        {
            return this.currentCalendar.get(Calendar.YEAR);
        }
        
        public int  getMonth()
        {
            return this.currentCalendar.get(Calendar.MONTH) + 1;
        }
        
        public int getDay()
        {
            return this.currentCalendar.get(Calendar.DAY_OF_MONTH);
        }
        
        public int [] getDays()
        {
            return this.days;
        }
        public int [][] getAllDays()
        {
            return this.allDays;
        }
        public String getNextMonthString()
        {
            Calendar cal = Calendar.getInstance(DEFAULT_LOCALE);
            cal.setTime( this.currentCalendar.getTime() );
            cal.add(Calendar.MONTH, 1);
            return String.format("%d-%d-%d", cal.get(Calendar.YEAR),cal.get(Calendar.MONTH),cal.get(Calendar.DATE));
        }
        
        public String getPreMonthString()
        {
            Calendar cal = Calendar.getInstance(DEFAULT_LOCALE);
            cal.setTime( this.currentCalendar.getTime() );
            cal.add(Calendar.MONTH, -1);
            return   String.format("%d-%d-%d", cal.get(Calendar.YEAR),cal.get(Calendar.MONTH),cal.get(Calendar.DATE));
        }
        public void initDays()
        {
            for(int i = 0 ; i < this.days.length ; i++)
            {
                this.days[i]=0;
            }
        }
        public void setDays()
        {    
            this.initDays();
            int i = 0;
            int firstDayOfWeek = this.getFirstDayOfWeek();
            final int lastDayOfMonth = this.currentCalendar.getActualMaximum( Calendar.DAY_OF_MONTH );
            for (i=1; i <= lastDayOfMonth; firstDayOfWeek ++,i++)
            {
                this.days[firstDayOfWeek-1]=i;
            }
            for(i=0; i<6;i++)
            {
                for(int j=0;j<7;j++)
                {
                    this.allDays[i][j]=this.days[(i+1)*j];
                }
            }
            int  j=-1;
            int k=0;
            for( i=0;i<this.days.length;i++)
            {
                if( i%7 == 0)
                {   j++;
                   // System.out.println();
                    k=0;
                }
                this.allDays[j][k]=this.days[i];
                k++;
                //System.out.print(this.days[i]+" \t");
            }
        }
        
        public void showDays()
        {
            int  j=-1;
            int k=0;
            for(int i=0;i<this.days.length;i++)
            {
                if( i%7 == 0)
                {   j++;
                    System.out.println();
                    k=0;
                }
                this.allDays[j][k]=this.days[i];
                k++;
                System.out.print(this.days[i]+" \t");
            }
            System.out.println();
            System.out.println("----------------------------------");
            for(int i=0; i<6;i++)
            {
                for( j=0;j<7;j++)
                {
                   // this.allDays[i][j]=this.days[(i+1)*j];
                    System.out.print(this.allDays[i][j]+" \t");
                }
                System.out.println();
            }
        }
        
        public String getCalendarString()
        {
            return String.format("%d%s%d%s%d%s", this.getYear(),YEAR_SUFFIX,this.getMonth(),MONTH_SUFFIX,this.getDay(),DAY_SUFFIX);
        }
        
        public static void main(String argc[])
        {
           VCalendar c = new VCalendar();
            //VCalendar c = new VCalendar(2010,6,14);
           // Calendar cal = Calendar.getInstance();
            //VCalendar c = new VCalendar(cal.get(Calendar.YEAR),cal.get(Calendar.MONTH)+1,Calendar.DATE);
            c.setDays();
            c.showDays();
            System.out.println();
            String test =c.getCalendarString();
            System.out.println(test);
            System.out.println(c.getFirstDayOfWeek());
           // System.out.println(Calendar.SATURDAY);
        }
    }


      VCalendar vc = new VCalendar();
            vc.setDays();
            int a[][]= vc.getAllDays();
            ArrayList row1 =  new ArrayList<Integer>();
            for(int i=0;i<7;i++)
            {
                row1.add(new Integer(a[0][i]));
            }
            ArrayList row2 =  new ArrayList<Integer>();
            for(int i=0;i<7;i++)
            {
                row2.add(new Integer(a[1][i]));
            }
            ArrayList row3 =  new ArrayList<Integer>();
            for(int i=0;i<7;i++)
            {
                row3.add(new Integer(a[2][i]));
            }
            ArrayList row4 =  new ArrayList<Integer>();
            for(int i=0;i<7;i++)
            {
                row4.add(new Integer(a[3][i]));
            }
            ArrayList row5 =  new ArrayList<Integer>();
            for(int i=0;i<7;i++)
            {
                row5.add(new Integer(a[4][i]));
            }
            ArrayList row6 =  new ArrayList<Integer>();
            for(int i=0;i<7;i++)
            {
                row6.add(new Integer(a[5][i]));
                System.out.println(a[5][i]);
            }
            /*  add that list to a VelocityContext  */
            VelocityContext context = new VelocityContext();
            String curYear = vc.getCalendarString();
            String nextMonth = vc.getNextMonthString();
            String prevMonth = vc.getPreMonthString();
            
            context.put("petList", list);
            context.put("row1", row1);
            context.put("row2", row2);
            context.put("row3", row3);
            context.put("row4", row4);
            context.put("row5", row5);
            context.put("row6", row6);
            context.put("curYear", curYear);
            context.put("nextMonth", nextMonth);
            context.put("prevMonth", prevMonth); 

       #foreach( $pet in $petList )
        $pet.name for only $pet.price
      #end
       Call Today!      
       #macro( tablerows  $rows )
        #foreach( $row in $rows )
            <td >
            #if($row !=0)
            $row
            #end
            </td>
        #end
       #end
    <table border=1>
    <tr><td>prevMonth</td><td colspan=4>$curYear</td><td>nextMonth</td></tr>
    #tablerows($row1)
    <tr> #foreach( $something in $row2 )
            <td>#if($something !=0 )$something#end</td>
         #end
         
    </tr>
    <tr> #foreach( $something in $row3 )
            <td>#if($something !=0 )$something#end</td>
         #end
         
    </tr>
    <tr> #foreach( $something in $row4 )
            <td>#if($something !=0 )$something#end</td>
         #end
         
    </tr>
    <tr> #foreach( $something in $row5 )
            <td>#if($something !=0 )$something#end</td>
         #end
    </tr>
    <tr> #foreach( $something in $row6 )
            <td>#if($something !=0 )$something#end</td>
         #end
    </tr>
    </table>

  • 相关阅读:
    Java异常模块
    Java枚举相关知识
    Java单例设计模式和多例设计模式
    第一章 python中重要的数据结构(上)
    第二章 python中重要的数据结构(下)
    第三章 python中的字符串
    第四章 python中的面向对象设计
    第五章 python中的异常处理
    python开发环境必备之vim配置
    mysql 数据库备份方案及策略
  • 原文地址:https://www.cnblogs.com/likwo/p/1735739.html
Copyright © 2011-2022 走看看