当前位置:首页 > Java

如何编码日历java

2026-03-25 20:00:00Java

使用 Java 编写日历程序

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

如何编码日历java

导入必要的类

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

打印某年某月的日历

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

如何编码日历java

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 的示例:

导入必要的类

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 版本的方法 通过命令行工具 打开终端(Windows 为命令提示符或 PowerShell,macOS/Linux 为 Terminal),输入以下命令并回车: java -ve…

java如何安装

java如何安装

安装Java的步骤 下载Java开发工具包(JDK) 访问Oracle官方网站或OpenJDK项目页面下载适合操作系统的JDK版本。Oracle JDK适用于商业用途,OpenJDK是开源版本。选择…

vue怎么实现日历

vue怎么实现日历

实现基础日历布局 使用Vue的模板语法构建日历的HTML结构,通常采用表格形式展示日期。月份切换通过计算属性动态生成日期数组。 <template> <div class=…

如何学好java

如何学好java

理解基础概念 掌握Java的核心概念是学习的基础。包括数据类型、变量、运算符、控制流(如循环和条件语句)、数组等。理解面向对象编程(OOP)的四大特性:封装、继承、多态和抽象。 实践编程练习 通过实…

如何配置java环境变量

如何配置java环境变量

下载并安装JDK 从Oracle官网或OpenJDK项目下载适合操作系统的JDK安装包。运行安装程序,按照提示完成安装,默认路径通常为C:\Program Files\Java\jdk-版本号。 配…

java如何取绝对值

java如何取绝对值

取绝对值的方法 在Java中,取绝对值可以通过以下几种方式实现: 使用Math.abs()方法 Math.abs()是Java中最常用的取绝对值方法,适用于多种数据类型: int abso…