date类学习【六】

public class WanYearLi {

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

               Scanner input = new Scanner(System. in );

               System. out .println( " 请输入一个日期 :yyyy-MM-dd" );

               String strDate = input .next();

               SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd" );

                // 创建一个 Date 类的对象

               Date d = sdf .parse( strDate );

                // 如何将 d 转换成 Calendar 对象

               Calendar cal = new GregorianCalendar();

                cal .setTime( d );   // 将给定的 Date 类型的对象,设置到了 Calendar 对中

               /**(1) 将当前日期记录放到变量里存储 */

                int nowDay = cal .get(Calendar. DAY_OF_MONTH );

          /**(2) 将日历设置为 yyyy -MM-1*/

                cal .set(Calendar. DAY_OF_MONTH , 1);

                /**(3) 获取该月的 1 号,星期几?一周的第几 */

                int week = cal .get(Calendar. DAY_OF_WEEK );

               System. out .println( " 日 \t 一 \t 二 \t 三 \t 四 \t 五 \t 六 " );

                for ( int i = 1; i < week ; i ++) {

                       System. out . print ( "\t" );

               }

               /**(4) 获取指定月份的最大天数 */

                int maxDay = cal .getActualMaximum(Calendar. DAY_OF_MONTH );

                for ( int i =1; i <= maxDay ; i ++){

                       System. out .print( i );

                        if ( i == nowDay ){

                               System. out . print ( "*" );

                       }

                       System. out . print ( "\t" );

                        if ( cal .get(Calendar. DAY_OF_WEEK )==Calendar. SATURDAY ) {

                               System. out .println();

                       }

                        // 每循环一次,日子加一天

                        cal.add(Calendar. DAY_OF_MONTH , 1);

               }

       }

}        

猜你喜欢

转载自blog.csdn.net/wyqwilliam/article/details/92801421
今日推荐