java获取本月日历表的方法

 更新时间:2022年06月13日 15:11:51   作者:最长的电影!  
这篇文章主要为大家详细介绍了java获取本月日历表的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

用Java获取本月日历表,供大家参考,具体内容如下

这张日历表应该怎么打印出来?

首先,获取本月,获取本天,创建本地日期类对象。

LocalDate date=LocalDate.now();
   int month=date.getMonthValue();//获取本月
   int today=date.getDayOfMonth();//获取本天

2.创建一个周期对象。

date=date.minusDays(today-1);//将date设置为这个月的第一天
  DayOfWeek weekday=date.getDayOfWeek();
  int value=weekday.getValue();//得到星期几的一个数值,1就返回1,2就是2.......

3.然后获取的月份等于本月份,按照间隔输出,等于本月那一天,就用*特殊标记那一天。

for(int i=1;i<value;i++) {
            System.out.print("    ");
        }
while(date.getMonthValue()==month) {
            System.out.printf("%3d", date.getDayOfMonth());
            if(date.getDayOfMonth()==today) {
                System.out.print("*");
            }
            else {
                System.out.print(" ");
            }
            date=date.plusDays(1);

4.如果如果获取到的周天数是星期一了,那就换行。

if(date.getDayOfWeek().getValue()==1) {
                System.out.println();
            }

这样本月日历表就被获取出来了。

完整代码如下:

import java.time.*;
public class CalendarTest {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        LocalDate date=LocalDate.now();
        int month=date.getMonthValue();//获取本月
        int today=date.getDayOfMonth();//获取本天
        
        date=date.minusDays(today-1);//将date设置为这个月的第一天
        DayOfWeek weekday=date.getDayOfWeek();
        int value=weekday.getValue();//得到星期几的一个数值,1就返回1,2就是2.......
        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.getDayOfMonth()==today) {
                System.out.print("*");
            }
            else {
                System.out.print(" ");
            }
            date=date.plusDays(1);
            if(date.getDayOfWeek().getValue()==1) {
                System.out.println();
            }
        }
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java开发者就业需要掌握的9大专业技能

    Java开发者就业需要掌握的9大专业技能

    这篇文章主要为大家详细介绍了java就业前需要掌握的专业技能,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Java集合排序规则接口Comparator用法解析

    Java集合排序规则接口Comparator用法解析

    这篇文章主要介绍了Java集合排序规则接口Comparator用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 利用Java自写一个生成ID的工具类

    利用Java自写一个生成ID的工具类

    平时项目中只要涉及表,那么一定能接触到众多各式各样的ID编号。本文将通过Java语言实现手写一个ID生成工具类,需要的小伙伴可以参考一下
    2022-11-11
  • 详解Java编程中向量(Vector)的应用

    详解Java编程中向量(Vector)的应用

    这篇文章主要介绍了Java中的向量(Vector)的应用,Vector也是Java中比较常用的一个类,需要的朋友可以参考下
    2015-10-10
  • Mac电脑安装多个JDK版本的详细图文教程

    Mac电脑安装多个JDK版本的详细图文教程

    目前使用的主流版本还是JDK 8,但偶尔会想体验下新版本(或者旧版本),如果能装多个版本的JDK,而且很方便的切换就好了,这篇文章主要给大家介绍了关于Mac电脑安装多个JDK版本的相关资料,需要的朋友可以参考下
    2024-03-03
  • SpringBoot如何通过Map实现策略模式

    SpringBoot如何通过Map实现策略模式

    策略模式是一种行为设计模式,它允许在运行时选择算法的行为,在Spring框架中,我们可以利用@Resource注解和Map集合来优雅地实现策略模式,这篇文章主要介绍了SpringBoot如何通过Map实现策略模式,需要的朋友可以参考下
    2025-03-03
  • scala 操作数据库的方法

    scala 操作数据库的方法

    这篇文章主要介绍了scala 操作数据库的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • Springboot详解线程池与多线程及阻塞队列的应用详解

    Springboot详解线程池与多线程及阻塞队列的应用详解

    本例应用线程池、多线程、阻塞队列处理一个流程任务。本例处理一个订单流程,主要包括生成订单、订单处理、订单入库,下面我们一起看看
    2022-06-06
  • jsp+dao+bean+servlet(MVC模式)实现简单用户登录和注册页面

    jsp+dao+bean+servlet(MVC模式)实现简单用户登录和注册页面

    这篇文章主要介绍了jsp+dao+bean+servlet(MVC模式)实现简单用户登录和注册页面,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • SpringBoot JdbcTemplate批量操作的示例代码

    SpringBoot JdbcTemplate批量操作的示例代码

    本篇文章主要介绍了SpringBoot JdbcTemplate批量操作的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04

最新评论