可视化日历(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("\n");
        }

    }
    /**
     *打印每个月的样式表<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("日\t一\t二\t三\t四\t五\t六");
        //打印每月第一天前的空格
        for (int i = 1; i < dayOfWeek; i++) {
            System.out.print("\t");
        }
        //打印一个月的情况
        for (int i = 1; i <= days; i++) {
            //标注所要查找的那天
            if (srcDay == i) {
                System.out.print("#");
            }
            dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
            System.out.print(i + "\t");
            //每到周六换行
            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);
    }

}
时间: 2024-11-08 19:14:38

可视化日历(2)的相关文章

制作可视化日历,输入日期得到当月 月历表

import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Scanner; /** * 制作可视化日历,输入日期得到当月 月历表 * */ public class CalendarDemo { public static voi

可视化日历_Java实现

//刚刚学Java,写的小程序 1 package cn.xiaocangtian.testDate; 2 3 import java.text.DateFormat; 4 import java.text.ParseException; 5 import java.text.SimpleDateFormat; 6 import java.util.Calendar; 7 import java.util.Date; 8 import java.util.GregorianCalendar; 9

可视化日历程序

public class VisualCalendar { public static void main(String[] args){ System.out.println("请输入日期(按照格式:2630-3-18)"); Scanner scanner = new Scanner(System.in); String temp = scanner.nextLine(); DateFormat format = new SimpleDateFormat("yyyy-MM

java 的Calendar类的可视化日历示例

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 VisualCal

Java之可视化日历小练习

20150802 看完时间日期类Date和DateFormat以及日历类Calendar和GregorianCalendar类之后做个小日历来练习一下相应的方法和属性,加强一下记忆: 描述:输入指定格式的日期如:2001-12-25,输出当月的日历 思路: 1.先从键盘输入指定格式的字符串(str) 2.将字符串用格式转换类转换成日期( Date date = format.parse(str) ) 3.将日期设置成日历类( calendar.setTime(date) ) 4.获取当月第一天是

可视化日历

可视化日历示例展示: public class VisualCalendar{ public static void main(String [] args){ //1. 按照提示从键盘输入日期字符串: System.out.println("请输入日期(格式:2017-12-19):"); Scanner scanner = new Scanner(System.in); String temp = scanner.nextLine(); //2. 将字符串转换成日期: DateFo

高琪java300集可视化日历

高老师java300集中常用类的介绍中有可视化日历实验 自己尝试写了下,主要是为了了解Date类, SimpleDateFormat类,Calendar类. 1 package GaoQiJava300Study.Eight; 2 3 import java.text.ParseException; 4 import java.text.SimpleDateFormat; 5 import java.util.Calendar; 6 import java.util.Date; 7 import

日历类打印可视化日历

import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.Scanner; import com.yunsi.day15.dateuse8.DateUtil; /** * 可视化日历,打印当前月 * @author Administrator * */ public class Test05 { public static void main(Str

利用JAVA设计一个可视化日历

package zhangxuan.test01; 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 lianxi06