首页 > 编程语言 >Java:得到指定年份、月份、周次的最后一天

Java:得到指定年份、月份、周次的最后一天

时间:2023-03-04 17:02:51浏览次数:36  
标签:年份 Java DAY set static date Calendar 周次 calendar

使用Java的工具类Calendar

通过Calendar可以进行很多的日期操作

/**
     * 得到指定年份的最后一天
     * @param year
     */
    public static void getLastDayOfYear(int year){
        Calendar calendar = Calendar.getInstance();
        //先指定为后一年
        calendar.set(Calendar.YEAR,year+1);
        //DAY_OF_YEAR的值按照年份的第一天从1开始,设置为0可以得到前一年的最后一天
        calendar.set(Calendar.DAY_OF_YEAR,0);
       String lastDayOfYear = dateFormat.format(calendar.getTime());
        System.out.println(lastDayOfYear);
    }

    /**
     * 得到指定月份的最后一天
     * @param month
     */
    public static void getLastDayOfMonth(int month){
        Calendar calendar = Calendar.getInstance();
        //MONTH的值从0-11分别是12个月份
        calendar.set(Calendar.MONTH,month);
        //DAY_OF_MONTH的值按照月份的第一天从1开始,设置为0可以得到前一月的最后一天
        calendar.set(Calendar.DAY_OF_MONTH,0);
        String lastDayOfMonth = dateFormat.format(calendar.getTime());
        System.out.println(lastDayOfMonth);
    }

    /**
     * 得到指定日期所在周次的最后一天
     * @param date
     */
    public static void getLastDayOfWeek(Date date){
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        //得到这一周的指定日期
        calendar.set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY);
        String lastDayOfWeek = dateFormat.format(calendar.getTime());
        System.out.println(lastDayOfWeek);
    }

Calendar除了能够得到某一天之外,也能通过get方法得到日期的信息

例如判断某一天是否为周末

public static boolean isWeekend(Date date){
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
       return calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY ||
               calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY;
    }

测试一下

public static void main(String[] args) {
        getLastDayOfYear(2021);
        getLastDayOfMonth(5);
        getLastDayOfWeek(new Date());
        System.out.println(isWeekend(new Date()));
    }

运行结果

 

标签:年份,Java,DAY,set,static,date,Calendar,周次,calendar
From: https://www.cnblogs.com/davidFB/p/17178550.html

相关文章

  • java——spring boot集成kafka——消息队列的流派
                   ......
  • 关于 Javascript 的几种继承
    原型链的概念:原型链通俗易懂的理解就是可以把它想象成一个链条,互相连接构成一整串链子而原型链中就是实例对象和原型对象之间的链接每个函数都有一个prototype属性,这个p......
  • 【java】动态修改日志级别
    背景开发过程中,为了方便问题快速定位,都会在代码中增加相关日志生产环境中,为了减少日志输出量,需要提高日志级别,节约资源。如果能动态修改日志级别,当出现问题时,动态降低......
  • 【Java Pro】001-Java基础:面向对象
    【JavaPro】001-Java基础:面向对象文章目录​​【JavaPro】001-Java基础:面向对象​​​​一、面向对象​​​​1、什么是对象​​​​现实生活中的对象与程序中的对象​​......
  • Java 集合 为什么重写 HashCode 和 equals
    #Java集合为什么重写HashCode和equals>Object源码中的HashCode和equals方法:>>```>publicnativeinthashCode();>>publicbooleanequals(Objectobj){>......
  • JavaScript Modal Image
    <!DOCTYPEhtml><html><head><title>JavaScriptModalImage</title></head><styletype="text/css"> .modal{ position:fixed; z-index:1......
  • Java GUI编程(包括awt,event)弹球小游戏功能扩充。
    原网址:https://gitee.com/EdsionKXXX/pinball-game-demo源代码:1packageAWT_GameDemo;234importjavax.swing.*;5importjava.awt.*;6importja......
  • java 线程同步
    多种方式可以完成线程同步,传统方法是关键字synchronized完成的,可以是同步方法也可以是同步代码块同步方法@Data@AllArgsConstructor@NoArgsConstructorclassMyThea......
  • java 创建线程
    继承ThreadclassMyThread1extendsThread{@Overridepublicvoidrun(){System.out.println("继承Thread...");}}publicclassTest1{......
  • java 线程状态
    线程状态java.lang.Thread.State里明确了线程的各个状态以及怎么进入和退出各个状态publicenumState{//初始化状态,线程创建之后的状态,newThread()之后进......