简单日历控制台显示

学习Java的第好多天

简单的日历

完整代码在最后

  1. 首先说一下思路
    我们一直想要显示一个日历想要让他按照我们的心意显示,但是我们知道每一年的每一个月都不一样的,所以我们必须设置一个通用的格式。
    首先我们在我们日历的最顶端显示星期日到星期六。因为在英文里面周日是第一天周六是最后一天。

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

  1. 然后第二步,我们要把一号到三十一号全部显示出来,

for(int i=1;i<=31;i++) {
System.out.print(c.get(Calendar.DAY_OF_MONTH)+"\t");

  1. 这时候我们发现为什么他到六号还是一直往后显示,我们没办法也不能一个一个弄啊,只能给他加了一个判断, 这个呢可以直接判断我们输出的日期是不是和周六相等,如果想等的话就换行。

if (c.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY) {
System.out.print("\n");
}

  1. 我们这个时候发现为什么第一个到3号就直接换行了,才发现原来这一个时间是一号的话是周四,但是我们的一号是周一所以,我们再次加一个判断,判断咱们给的一号到底是周几。

for(int i=0;i<c.get(Calendar.DAY_OF_WEEK)-1;i++) {
System.out.print("\t");
}

  1. 到这我们一切都结束了,把该导入的包都导入一下。就可以在控制带显示输出了。
package cn.wang.test;


import java.util.*;

import javax.sql.rowset.JoinRowSet;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;

public class TestCalendar2 {
	public static void main(String[] args) throws ParseException {
		
		String str="2020-10-10";
		DateFormat df=new SimpleDateFormat("yyyy-MM-dd");
		Date date=df.parse(str);
		Calendar c=new GregorianCalendar();
		c.setTime(date);
		
		System.out.println("日\t一\t二\t三\t四\t五\t六");
		
		c.set(Calendar.DAY_OF_MONTH, 1);
		
		for(int i=0;i<c.get(Calendar.DAY_OF_WEEK)-1;i++) {
			System.out.print("\t");
		}
		
		for(int i=1;i<=31;i++) {
			System.out.print(c.get(Calendar.DAY_OF_MONTH)+"\t");
			if (c.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY) {
				System.out.print("\n");
			}
			c.add(Calendar.DAY_OF_MONTH, 1);
		}
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值