zoukankan      html  css  js  c++  java
  • Calendar类实现当前日期的日历

    package com.sxt.home1;
    
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.GregorianCalendar;
    import java.util.Scanner;
    
    public class Test2 {
        public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
            System.out.println("请输入日期:如 2017-4-20");
            String s = input.nextLine();
            //String s = "2017-4-20";//字符串日期
            
            DateFormat df = new SimpleDateFormat("yyyy-MM-dd");//新建日期格式化对象
            try {
                Date date = df.parse(s);//String-->Date
                //Calendar cal = new GregorianCalendar();//方式一:新建Calendar对象 多态 GregorianCalendar:公历
                Calendar cal = Calendar.getInstance();//方式二:新建Calendar对象
                cal.setTime(date);//设置 Calendar 的时间
                int day = cal.get(Calendar.DATE);// 记录当前几号  Calendar.DATE : 指示一个月中的某天,与 DAY_OF_MONTH 是同义词
                //System.out.println(day);
                
                cal.set(Calendar.DATE, 1);//设置从一号开始
                System.out.println("一	二	三	四	五	六	日");//打印星期
                int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);//获取当前日期一周中的第几天!
                //System.out.println(dayOfWeek);
    //(周日为第一天)一周第几天  前空格个数
    //               1      6
    //               2      0
    //               3      1
    //               4      2
    //               5      3
    //               6      4
    //               7      5
                if(dayOfWeek >= 2){
                    for(int i=1; i<=(dayOfWeek-2); i++){
                        System.out.print("	");//打印1号之前的空格
                    }
                }else{
                    for(int i=1; i<=6; i++){
                        System.out.print("	");//打印1号之前的空格
                    }
                }
                int monthDays = cal.getActualMaximum(Calendar.DATE);//获取当月的最大天数
                for(int i=1; i<=monthDays; i++){
                    if(i == day){
                        System.out.print("*");//如果是当前日  打印*
                    }
                    System.out.print(i+"	");//显示一个月的每一天
                    
                    int j = cal.get(Calendar.DAY_OF_WEEK);//获取当前日期一周中的第几天!
                    if(j == Calendar.SUNDAY){//周日即第1天换行(j==1)
                        System.out.println();
                    }
                    cal.add(Calendar.DATE, 1); //Calendar对象  添加指定的时间量
                }
                
                
            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
            
        }
    }
  • 相关阅读:
    Unity3D移动端海水的实时绘制
    NGUI 3.x 深度管理及渲染优化
    【入门】从学生到成熟:游戏模块设计起步之抽象思维 (转)
    正弦波近似 http://blog.csdn.net/ring0hx/article/details/44492415
    Stack 栈 ----Queue 队列
    ORM
    CBV&FBV
    Django路由系统
    CRM
    深浅拷贝
  • 原文地址:https://www.cnblogs.com/qingfengzhuimeng/p/6743539.html
Copyright © 2011-2022 走看看