如何用Java写一个日历

简介: 涉及知识点:本地日期类 LocalDate大部分代码注释都写上了,适合入门java新手

如何用Java写一个日历

涉及知识点:本地日期类 LocalDate


大部分代码注释都写上了,适合入门java新手


import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.TextStyle;
import java.util.Locale;
import java.util.Scanner;
public class PracticeTime {
  public static void main(String[] args) {
  Scanner input = new Scanner((System.in));
  System.out.println("请输入一个年份+月份");
  int year = input.nextInt();
  int month = input.nextInt();
  //创建对象,得到本月第一天
  LocalDate date = LocalDate.of(year,month, 1);
  //得到本月名称,1是一月,5是五月...
  String monthname = date.getMonth().getDisplayName(
    TextStyle.FULL,Locale.getDefault());
  //当前月的天数
  int dayOfMonth = date.lengthOfMonth();
  //日历的表头
  System.out.println(year+"年              "+monthname );
  System.out.println("--------------------------------------------"); 
  System.out.printf("%10s%10s%10s%10s%10s%10s%10s%n","一","二","三","四","五","六","日");
  //返回本月1日是周几,返回值是1则为星期一,返回值为7则为周日
  int dayOfWeek = date.getDayOfWeek().getValue();
  //输出空格部分
  for  (int i = 2; i <= dayOfWeek; i++) 
    System.out.printf(" %4s","  ");
    //输出数字部分
    for (int i = 1; i <= dayOfMonth ; i++) {
    System.out.printf(" %4d",i);
      //满一周换行
    if ((dayOfWeek + i-1)%7==0) {
      System.out.println();
    }
  }
  }
}


运行结果:


请输入一个年份+月份

2022 5

2022年              五月

--------------------------------------------

  一    二   三   四   五    六   日

                                 1

   2    3    4    5    6    7    8

   9   10   11   12   13   14   15

  16   17   18   19   20   21   22

  23   24   25   26   27   28   29

  30   31

相关文章
|
数据可视化 Java
Java日历类
Java日历类
83 0
|
5月前
|
Java
java中强大的时间处理工具:Calendar类(日历类)
`Calendar`类是Java中用来处理日期和时间的类,提供了许多属性来获取日期和时间的不同部分,如年、月、日、小时等。`Calendar`的常用属性包括`YEAR`(年)、`MONTH`(月)、`DATE`/`DAY_OF_MONTH`(日)、`DAY_OF_YEAR`(一年中的第几天)、`DAY_OF_WEEK_IN_MONTH`(一月中第几个星期)、`DAY_OF_WEEK`/`WEEK_OF_MONTH`(星期)等。
95 0
|
6月前
|
JavaScript 前端开发 测试技术
《手把手教你》系列技巧篇(三十八)-java+ selenium自动化测试-日历时间控件-下篇(详解教程)
【5月更文挑战第2天】在自动化测试过程中,经常会遇到处理日期控件的点击问题。宏哥之前分享过一种方法,但如果输入框是`readonly`属性,这种方法就无法奏效了。不过,通过修改元素属性,依然可以实现自动化填写日期。首先,定位到日期输入框并移除`readonly`属性,然后使用`sendKeys`方法输入日期。这样,即使输入框设置了`readonly`,也能成功处理日期控件。
91 1
|
Java
【Java用法】使用Java编写一个日历格式的方法
【Java用法】使用Java编写一个日历格式的方法
55 0
|
6月前
|
Java Android开发
日历/万年历【小游戏】(Java课设)
日历/万年历【小游戏】(Java课设)
54 1
日历/万年历【小游戏】(Java课设)
|
6月前
|
Java 测试技术 Python
《手把手教你》系列技巧篇(三十七)-java+ selenium自动化测试-日历时间控件-上篇(详解教程)
【5月更文挑战第1天】该文介绍了使用Selenium自动化测试网页日历控件的方法。首先,文章提到在某些Web应用中,日历控件常用于选择日期并筛选数据。接着,它提供了两个实现思路:一是将日历视为文本输入框,直接输入日期;二是模拟用户交互,逐步选择日期。文中给出了JQueryUI网站的一个示例,并展示了对应的Java代码实现,包括点击日历、选择日期等操作。
122 0
|
Java
Java 中Calendar日历类的基本使用
Java 中Calendar日历类的基本使用
84 1
|
6月前
|
Java
用Java编写年份日历
用Java编写年份日历
|
6月前
|
Java
自制日历java
自制日历java
|
6月前
|
Java
基于Java Swing实现的日历记事本系统【源码+报告文档】
基于Java Swing实现的日历记事本系统【源码+报告文档】
105 0