Java实现打印日历(java.time写的)

该博客介绍了如何使用Java.time包来实现日历的打印,包括实践代码展示和测试结构,强调在通用日期中周日作为一周的开始。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单的日期-时间类的练习例子

实现代码
import java.time.LocalDate;
import java.time.format.TextStyle;
import java.util.Locale;
import java.util.Scanner;

public class PrintCalendar {
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		System.out.println("输入一个年份(如2019 )");
		printCalendars(in.nextInt());
	}
	public static void printCalendars(int year) {
		for (int month = 1; month < 13; month++) {
			System.out.println();
			//得到本个月的第一天日期
			LocalDate dates = LocalDate.of(year, month, 1);
			String monthName = dates.getMonth().getDisplayName(TextStyle.FULL, Locale.getDefault());
			//返回当前月的天数
			int daysOfMonth = dates.lengthOfMonth();
			System.out.println(year+"年            "+monthName);
			System.out.println("-----------------------------------");
			System.out.printf("%10s%10s%10s%10s%11s%10s%10s%n", "日","一","二","三","四","五","六");
			int dayOfWeek = dates.getDayOfWeek().getValue();

			for (int i = 1; i <= dayOfWeek&&dayOfWeek!=7; i++) {
				System.out.printf("%5s", " ");
			}
			//输出该月的日期
			for (int i = 1; i <= daysOfMonth; i++) {
				System.out.printf("%5d",i);
				if ((dayOfWeek+i)%7==0) {
					System.out.println();
				}
			}
		}
	}
}

参考:Java语言程序设计第三版

测试结构

日历部分

补充一小点

通用的日期,周日才是一个星期的第一天。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值