当前位置:首页 > Java

日历如何打印java

2026-03-23 00:28:30Java

打印日历的Java实现方法

使用Java打印日历可以通过java.util.Calendar类或java.time包(Java 8及以上版本)实现。以下是两种不同的实现方式:

日历如何打印java

使用java.util.Calendar

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);

        printCalendar(year, month);
    }

    public static void printCalendar(int year, int month) {
        Calendar calendar = Calendar.getInstance();
        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及以上版本)

import java.time.LocalDate;
import java.time.format.TextStyle;
import java.util.Locale;

public class PrintCalendarJava8 {
    public static void main(String[] args) {
        LocalDate date = LocalDate.now();
        printCalendar(date.getYear(), date.getMonthValue());
    }

    public static void printCalendar(int year, int month) {
        LocalDate date = LocalDate.of(year, month, 1);
        String monthName = date.getMonth().getDisplayName(TextStyle.FULL, Locale.getDefault());

        System.out.println(" " + monthName + " " + year);
        System.out.println("Su Mo Tu We Th Fr Sa");

        int startDay = date.getDayOfWeek().getValue() % 7;
        int lengthOfMonth = date.lengthOfMonth();

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

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

自定义日历打印

如果需要打印特定年份和月份的日历,可以修改代码中的yearmonth参数:

日历如何打印java

printCalendar(2023, 12); // 打印2023年12月的日历

格式化输出

可以通过调整printf的格式字符串来改变日历的显示样式:

System.out.printf("%4d", day); // 使用4字符宽度对齐

以上代码提供了两种不同的实现方式,可以根据项目需求选择适合的版本。java.time包的版本更现代且线程安全,推荐在Java 8及以上版本中使用。

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

相关文章

java如何

java如何

Java 基础语法 Java 是一种面向对象的编程语言,语法相对严谨。每个 Java 程序必须包含一个 main 方法作为程序入口。以下是一个简单的 Java 程序示例: public class…

java如何输出数组

java如何输出数组

输出数组的方法 在Java中,输出数组内容有多种方式,具体取决于数组类型和输出格式需求。以下是几种常见的方法: 使用Arrays.toString()方法 适用于一维数组,直接调用Arrays.to…

如何运行java项目

如何运行java项目

运行Java项目的步骤 确保Java环境已安装 在运行Java项目前,需确认系统已安装Java Development Kit(JDK)。通过命令行输入java -version和javac -ver…

java如何创建包

java如何创建包

创建Java包的步骤 在Java中,包(package)用于组织和管理类文件,避免命名冲突。以下是创建Java包的详细方法: 定义包名 在Java源文件的开头使用package关键字声明包名。包名…

java如何导入jar包

java如何导入jar包

在Eclipse中导入JAR包 右键项目 -> 选择"Properties" -> 左侧导航选择"Java Build Path" -> 切换到"Libraries"标签 ->…

eclipse如何创建java

eclipse如何创建java

在Eclipse中创建Java项目 打开Eclipse后,选择菜单栏中的"File" -> "New" -> "Java Project"。在弹出的对话框中输入项目名称,确保"Use de…