当前位置:首页 > Java

java如何打印日历

2026-03-23 23:34:11Java

打印日历的方法

在Java中打印日历可以通过多种方式实现,以下是几种常见的方法:

使用java.util.Calendar

通过Calendar类可以获取当前日期的年、月、日等信息,并结合循环打印日历。

java如何打印日历

import java.util.Calendar;

public class PrintCalendar {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH);

        calendar.set(year, month, 1);
        int startDay = calendar.get(Calendar.DAY_OF_WEEK);
        int numberOfDays = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);

        System.out.println("Sun Mon Tue Wed Thu Fri Sat");

        for (int i = 1; i < startDay; i++) {
            System.out.print("    ");
        }

        for (int i = 1; i <= numberOfDays; i++) {
            System.out.printf("%3d ", i);
            if ((i + startDay - 1) % 7 == 0 || i == numberOfDays) {
                System.out.println();
            }
        }
    }
}

使用java.time包(Java 8及以上)

Java 8引入了新的日期时间API,可以通过LocalDateDayOfWeek类实现日历打印。

java如何打印日历

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

public class PrintCalendar {
    public static void main(String[] args) {
        LocalDate date = LocalDate.now();
        int month = date.getMonthValue();
        int year = date.getYear();

        date = LocalDate.of(year, month, 1);
        DayOfWeek weekday = date.getDayOfWeek();
        int value = weekday.getValue();

        System.out.println("Mon Tue Wed Thu Fri Sat Sun");

        for (int i = 1; i < value; i++) {
            System.out.print("    ");
        }

        while (date.getMonthValue() == month) {
            System.out.printf("%3d ", date.getDayOfMonth());
            if (date.getDayOfWeek().getValue() == 7) {
                System.out.println();
            }
            date = date.plusDays(1);
        }
    }
}

使用第三方库

如果需要更复杂的日历功能,可以考虑使用第三方库如JCalendarApache Commons Lang

import org.apache.commons.lang3.time.DateUtils;
import java.util.Date;

public class PrintCalendar {
    public static void main(String[] args) {
        Date date = new Date();
        System.out.println(DateUtils.toCalendar(date));
    }
}

自定义日历格式

如果需要自定义日历的显示格式,可以通过调整输出语句实现。

System.out.println("=========================");
System.out.println("       " + month + " " + year);
System.out.println("Sun Mon Tue Wed Thu Fri Sat");

注意事项

  • 确保日期和星期的对齐正确,避免格式混乱。
  • 考虑跨年或跨月的情况,确保逻辑正确。
  • 使用printfString.format可以更好地控制输出格式。

标签: 日历java
分享给朋友:

相关文章

java程序如何运行

java程序如何运行

编写Java代码 使用文本编辑器或IDE(如IntelliJ IDEA、Eclipse)编写Java源代码,保存为.java文件。例如: public class HelloWorld {…

java前景如何

java前景如何

Java 当前的市场需求 Java 在企业级开发、大数据、云计算等领域仍占据重要地位。许多大型企业(如银行、电商平台)依赖 Java 构建后端系统。招聘平台数据显示,Java 开发岗位数量稳定,尤其在…

如何安装java运行环境

如何安装java运行环境

下载Java开发工具包(JDK) 访问Oracle官方网站或OpenJDK项目页面,选择适合操作系统的JDK版本进行下载。Windows用户通常选择.exe安装包,macOS用户选择.dmg,Linu…

java中如何获取当前时间

java中如何获取当前时间

获取当前时间的几种方法 使用 java.time 包(Java 8及以上推荐) import java.time.LocalDateTime; LocalDateTime currentTime =…

vue实现日历插件

vue实现日历插件

Vue 日历插件实现方案 使用现成组件库 推荐直接使用成熟的 Vue 日历组件,如: V-Calendar:专为 Vue 设计的轻量级日历组件 FullCalendar:功能强大的日历库,有 Vue…

js 实现日历

js 实现日历

实现日历的基本思路 日历的核心功能是展示日期,并允许用户进行日期选择或导航。JavaScript 可以动态生成日历的 HTML 结构,并处理用户交互逻辑。 基础日历结构 日历通常包含头部(显示月份和…