当前位置:首页 > Java

如何编码日历java

2026-03-25 20:00:00Java

使用 Java 编写日历程序

Java 提供了多种方式来实现日历功能,以下是一种基于 java.util.Calendarjava.text.SimpleDateFormat 的简单实现方法。

导入必要的类

import java.util.Calendar;
import java.text.SimpleDateFormat;

获取当前日期并格式化

Calendar calendar = Calendar.getInstance();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = dateFormat.format(calendar.getTime());
System.out.println("当前日期: " + formattedDate);

打印某年某月的日历

以下代码可以打印指定年份和月份的日历:

public static void printCalendar(int year, int month) {
    Calendar cal = Calendar.getInstance();
    cal.set(year, month - 1, 1); // 月份从0开始,所以减1

    int startDay = cal.get(Calendar.DAY_OF_WEEK); // 获取当月第一天是星期几
    int numberOfDays = cal.getActualMaximum(Calendar.DAY_OF_MONTH); // 获取当月的天数

    System.out.println("日 一 二 三 四 五 六");

    // 打印前面的空格
    for (int i = 1; i < startDay; i++) {
        System.out.print("   ");
    }

    // 打印日期
    for (int i = 1; i <= numberOfDays; i++) {
        System.out.printf("%2d ", i);
        if ((i + startDay - 1) % 7 == 0) {
            System.out.println();
        }
    }
    System.out.println();
}

调用方法打印日历

public static void main(String[] args) {
    printCalendar(2023, 10); // 打印2023年10月的日历
}

使用 Java 8 的 java.time API

Java 8 引入了新的日期时间 API,以下是使用 java.time 的示例:

如何编码日历java

导入必要的类

import java.time.LocalDate;
import java.time.YearMonth;
import java.time.format.DateTimeFormatter;

打印日历的实现

public static void printCalendarWithJavaTime(int year, int month) {
    YearMonth yearMonth = YearMonth.of(year, month);
    LocalDate firstDay = yearMonth.atDay(1);
    int lengthOfMonth = yearMonth.lengthOfMonth();

    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
    System.out.println("当前月份: " + firstDay.format(formatter));

    System.out.println("日 一 二 三 四 五 六");

    int dayOfWeek = firstDay.getDayOfWeek().getValue() % 7; // 1=Monday...7=Sunday
    for (int i = 0; i < dayOfWeek; i++) {
        System.out.print("   ");
    }

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

调用方法打印日历

public static void main(String[] args) {
    printCalendarWithJavaTime(2023, 10); // 打印2023年10月的日历
}

这两种方法都可以实现日历功能,java.time API 是更现代和推荐的方式。

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

相关文章

java如何创建线程

java如何创建线程

创建线程的方法 在Java中,创建线程主要有两种方式:继承Thread类和实现Runnable接口。以下是具体实现方法: 继承Thread类 通过继承Thread类并重写run()方法可以创建线程。…

java如何输入字符串

java如何输入字符串

使用 Scanner 类 在 Java 中,可以通过 java.util.Scanner 类来输入字符串。以下是一个示例代码: import java.util.Scanner; public c…

java如何创建项目

java如何创建项目

使用IDE创建Java项目(以IntelliJ IDEA为例) 打开IntelliJ IDEA,选择“New Project”。 在左侧菜单中选择“Java”,确保已配置JDK(若无需手动添加)。 勾…

java如何运行程序

java如何运行程序

运行Java程序的步骤 安装Java开发工具包(JDK) 确保系统已安装JDK,可通过命令行输入java -version和javac -version验证。若未安装,需从Oracle官网下载并配置环…

如何选择java培训

如何选择java培训

评估培训机构资质 选择有正规资质的机构,查看其营业执照、办学许可证等。优先考虑具备人力资源和社会保障部或教育部认证的机构,这类机构的教学质量和课程设置通常更规范。 考察课程内容与行业需求匹配度…

java程序如何打包

java程序如何打包

打包Java程序的方法 使用JAR打包 Java程序可以通过JAR(Java Archive)格式打包,这是一种常见的压缩格式,适用于包含多个类文件和资源的项目。以下是使用JAR打包的步骤: 确保项…