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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了制作可视化日历,输入日期得到当月 月历表相关的知识,希望对你有一定的参考价值。

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 void main(String[] args) {
       
        System.out.println("请输入日期:(格式2010-3-10)");
        Scanner sc = new Scanner(System.in);
        String temp = sc.nextLine();
        // 将日期格式化
        DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        try {
            Date date = format.parse(temp);// 解析字符串生成日期并接收
            Calendar calendar = Calendar.getInstance();// 实例化一个日历对象
            calendar.setTime(date);// 设置时间
            int day = calendar.get(calendar.DATE);// 声明变量接收
            calendar.set(calendar.DATE, 1);// 设置 日期从1开始

            int maxDate = calendar.getActualMaximum(Calendar.DATE);// 获取当月日期的最大值
            System.out.println("日\t一\t二\t三\t四\t五\t六");
            // 控制输出,当月1号对应的星期之前不显示
            for (int i = 1; i < calendar.get(Calendar.DAY_OF_WEEK); i++) {
                System.out.print("\t");
            }
            // 输入日期,当天就加个特殊符号*,如果是星期六就换行
            for (int i = 1; i <= maxDate; i++) {
                if (i == day) {
                    System.out.print("*");
                }
                System.out.print(i + "\t");
                int w = calendar.get(Calendar.DAY_OF_WEEK);
                if (w == Calendar.SATURDAY) {
                    System.out.print("\n");
                }
                calendar.add(Calendar.DATE, 1);
            }

        } catch (ParseException e) {
            e.printStackTrace();
        }

    }

}

 

以上是关于制作可视化日历,输入日期得到当月 月历表的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中怎么实现,根据用户输入的年份和月份得到当月第1天(该月1号)

24:打印月历

在C#的月历控件中,怎样得到被选中的日期?

输入年份和月份打印当月日历

输入年份和月份打印当月日历

JAVA编写简单的日历,输入日期即可查看日历