打印日历表

import java.time.LocalDate;
import java.time.DayOfWeek;

public class Ccc {
    public static void main(String[] args) {

        LocalDate date = LocalDate.now(); // 获取当前日期  
        int month = date.getMonthValue(); // 获取月份  
        int today = date.getDayOfMonth(); // 获取今天是本月的第几天  

        // 将date设置为本月的第一天  
        date = date.withDayOfMonth(1);
        DayOfWeek weekday = date.getDayOfWeek(); // 获取本月第一天是星期几  

        // 打印日历头  
        System.out.printf("\u2728 Welcome to Month %d! \u2728%n%n", month);
        System.out.println("Mon Tue Wed Thu Fri Sat Sun");

        // 打印本月第一天前的空格  
        for (int i = 1; i < weekday.getValue(); i++) {
            System.out.print("  ");
        }

        // 打印日历中的每一天  
        while (date.getMonthValue() == month) {
            int dayOfMonth = date.getDayOfMonth();
            System.out.printf("%3d", dayOfMonth);
            if (dayOfMonth == today) {
                System.out.print("*"); // 如果是今天,则标记为*  
            }

            // 移动到下一天  
            date = date.plusDays(1);

            // 如果是新的一周的开始(星期一),则换行  
            if (date.getDayOfWeek() == DayOfWeek.MONDAY) {
                System.out.println();
            }
        }

        // 如果本月最后一天不是星期六(即,打印完本月后不是自动换行的),则手动换行  
        if (date.getDayOfWeek() != DayOfWeek.SATURDAY) {
            System.out.println();
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值