日历类打印可视化日历

Posted mrch

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了日历类打印可视化日历相关的知识,希望对你有一定的参考价值。

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(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入日期:(yyyy-MM-dd)");
        String s = input.next();  
        
//        String s="2019-10-28";
        //String--->Date
使用自己编写的工具类将输入的String类转化为Date对象 Date date = DateUtil.getDateFromStr(s, "yyyy-MM-dd"); //Date--->Calendar Calendar cal = new GregorianCalendar(); cal.setTime(date); //获取当前月的最大天数 ,确定循环的终止条件 int maxDays = cal.getActualMaximum(Calendar.DATE);
System.out.println(
"当前月的最大天数:"+maxDays); //获取当前天 int today = cal.get(Calendar.DATE); System.out.println("今天:"+today); //将日期设置成1号,然后获取周索引 1号前面 的个数= 1号的周索引-1 cal.set(Calendar.DATE, 1); int weekIndex = cal.get(Calendar.DAY_OF_WEEK); System.out.println("1号对应的周索引:"+weekIndex); System.out.println("日 一 二 三 四 五 六"); //先打印1号前面的 for(int i=1;i<weekIndex;i++){ System.out.print(" "); } for(int i=1;i<=maxDays;i++){ //如果当前周索引==周六,打印 换行 if(i==today){ System.out.print("*"); } System.out.print(i+" "); if(cal.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY){ System.out.print(" "); } //每打印1天,日期加1 // System.out.println("当前的日期:"+cal.get(Calendar.DATE)); cal.add(Calendar.DATE, 1); } } }

结果

 

 

 技术图片

 

以上是关于日历类打印可视化日历的主要内容,如果未能解决你的问题,请参考以下文章

从给定的月份/年份打印日历

高琪java300集可视化日历

Calendar类,运用Calendar类打印日历

练习:可视化日历(时间处理相关类)

在Java中如何用calendar类输入年和月份打印当月的日历

打印日历