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实现递归菜单树

    java实现递归菜单树

    这篇文章主要为大家详细介绍了java实现递归菜单树,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • Mybatis-plus sql注入及防止sql注入详解

    Mybatis-plus sql注入及防止sql注入详解

    mybatis-plus提供了许多默认单表 CRUD 语句,对于其他SQL情况爱莫能助,下面这篇文章主要给大家介绍了关于Mybatis-plus sql注入及防止sql注入的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-10-10
  • Spring MVC处理响应的案例详解

    Spring MVC处理响应的案例详解

    当服务器向客户端响应数据时,SpringMVC框架会使用“转换器”(Converter)将方法的返回值进行转换,SpringMVC框架还会自动使用不同的转换器,因此这篇文章就给大家详细介绍一下Spring MVC如何处理响应并附上案例,需要的朋友可以参考下
    2023-06-06
  • Java 整合模板彻底解决ssm配置难题

    Java 整合模板彻底解决ssm配置难题

    SSM框架是spring MVC ,spring和mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层四层,使用spring MVC负责请求的转发和视图管理,spring实现业务对象管理,mybatis作为数据对象的持久化引擎
    2021-10-10
  • java如何强制删除java程序占用的文件

    java如何强制删除java程序占用的文件

    这篇文章主要介绍了java如何强制删除java程序占用的文件问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • 详解Spring Cloud中Hystrix 线程隔离导致ThreadLocal数据丢失

    详解Spring Cloud中Hystrix 线程隔离导致ThreadLocal数据丢失

    这篇文章主要介绍了详解Spring Cloud中Hystrix 线程隔离导致ThreadLocal数据丢失,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • 一行命令同时修改maven项目中多个module的版本号的方法

    一行命令同时修改maven项目中多个module的版本号的方法

    这篇文章主要介绍了一行命令同时修改maven项目中多个module的版本号的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • Comet框架Plushlet使用问题解决方案

    Comet框架Plushlet使用问题解决方案

    这篇文章主要介绍了Comet框架Plushlet使用问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Mybatis逆向工程笔记小结

    Mybatis逆向工程笔记小结

    MyBatis官方为我们提供了一个逆向工程,通过这个逆向工程,只需要建立好数据表,MyBatis就会根据这个表自动生成pojo类、mapper接口、sql映射文件,本文主要介绍了Mybatis逆向工程笔记小结,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05
  • SpringBoot结合Redis配置工具类实现动态切换库

    SpringBoot结合Redis配置工具类实现动态切换库

    本文主要介绍了SpringBoot结合Redis配置工具类实现动态切换库,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08

最新评论