`

java获取本月最后一天

阅读更多
java获取本月第一天或者最后一天方法

@Test
    public void lastDayOfMonth(){
        //LocalDate localDate = LocalDate.now();
        LocalDate localDate =LocalDate.of(2020, 2, 20);
        System.out.println("localDate = " + localDate);
        //当月最后一天
        LocalDate lastDay = localDate.with(TemporalAdjusters.lastDayOfMonth());
        System.out.println("lastDay = " + lastDay);
        //当月第一天
        LocalDate firstDay = localDate.with(TemporalAdjusters.firstDayOfMonth());
        System.out.println("firstDay = " + firstDay);
    }


Java8日期工具类:获取周、季和年的第一天和最后一天

public class DateUtil {

    private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");

    /**
     * 格式化日期为指定的日期格式
     * @param date 时间参数
     * @return 时间毫秒数
     */
    public static String parseData(Date date){
        return sdf.format(date);
    }

    /**
     * 格式化当前日期为指定的日期格式
     * @return 时间毫秒数
     */
    public static String parseNowData(){
        return parseData(new Date());
    }

    /**
     * 获取本月的日期第一天
     * @return date
     */
    public static Date getFirstDayOfMonth(){
        return getFirstDayOfMonth(new Date());
    }

    /**
     * 获取某个时间所在月的日期第一天
     * @param date  日期
     * @return  时间毫秒数
     */
    public static Date getFirstDayOfMonth(Date date){
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
        return calendar.getTime();
    }

    /**
     * 获取本月日期的最后一天
     * @return 时间毫秒数
     */
    public static Date getLastDayOfMonth(){
        return getLastDayOfMonth(new Date());
    }

    /**
     * 获取某个时间所在月的日期第一天
     * @param date 日期
     * @return 时间毫秒数
     */
    public static Date getLastDayOfMonth(Date date){
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
        return calendar.getTime();
    }

    /**
     * 获取当前季度的第一天
     * @return 时间毫秒数
     */
    public static Date getFirstDayOfQuarter(){
        return getFirstDayOfQuarter(new Date());
    }

    /**
     * 获取时间所在季度的第一天
     * @param date 日期
     * @return 时间毫秒数
     */
    public static Date getFirstDayOfQuarter(Date date){
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        int remainder = calendar.get(Calendar.MONTH)  % 3;
        int month = remainder != 0 ? calendar.get(Calendar.MONTH) - remainder: calendar.get(Calendar.MONTH);
        calendar.set(Calendar.MONTH, month);
        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
        return calendar.getTime();
    }

    /**
     * 获取当前季度的最后一天
     * @return 时间毫秒数
     */
    public static Date getLastDayOfQuarter(){
        return getLastDayOfQuarter(new Date());
    }

    /**
     * 获取时间所在季度的最后一天
     * @param date 日期
     * @return 时间毫秒数
     */
    public static Date getLastDayOfQuarter(Date date){
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        int remainder = (calendar.get(Calendar.MONTH) + 1) % 3;
        int month = remainder != 0 ? calendar.get(Calendar.MONTH) + (3 - remainder) : calendar.get(Calendar.MONTH);
        calendar.set(Calendar.MONTH, month);
        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
        return calendar.getTime();
    }

    /**
     * 获取当前年份的第一天
     * @return 时间毫秒数
     */
    public static Date getFirstDayOfYear(){
        return getFirstDayOfYear(new Date());
    }

    /**
     * 获取时间所在年份的第一天
     * @param date 日期
     * @return 时间毫秒数
     */
    public static Date getFirstDayOfYear(Date date){
        Calendar currCal=Calendar.getInstance();
        Calendar calendar = Calendar.getInstance();
        calendar.clear();
        currCal.setTime(date);
        calendar.set(Calendar.YEAR,currCal.get(Calendar.YEAR));
        return calendar.getTime();
    }

    /**
     * 获取当前年份的最后一天
     * @return 时间毫秒数
     */
    public static Date getLastDayOfYear(){
        return getLastDayOfYear(new Date());
    }

    /**
     * 获取时间所在年份的最后一天
     * @param date 日期
     * @return 时间毫秒数
     */
    public static Date getLastDayOfYear(Date date){
        Calendar currCal= Calendar.getInstance();
        Calendar calendar = Calendar.getInstance();
        calendar.clear();
        currCal.setTime(date);
        calendar.set(Calendar.YEAR,currCal.get(Calendar.YEAR));
        calendar.roll(Calendar.DAY_OF_YEAR,-1);
        return calendar.getTime();
    }

}
分享到:
评论

相关推荐

    java 获取上月、一个月最后一天、周一、周日、本月日期

    java 获取上月、一个月最后一天、周一、周日、本月日期

    java 获取时间 本周本年本月第一天最后一天

    Calendar c = new GregorianCalendar(); c.setFirstDayOfWeek(Calendar.MONDAY); c.setTime(new Date()); c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek()); // Monday System.out.println(c....//本月第一天

    java获取某一时间

    这里包括java处理常用的时间,可以获取当前日期,本周周一日期,本月第一天,本月最后一天等日期处理

    java获取今天、昨天、近一周、本周、本月时间段

    java获取今天、昨天、近一周、近两周、近三周、近一月、近两月、近三月、近半年、本周、上周、本月、上月时间段

    Java日期工具类

    Java日期工具类 1、日期的各种格式化 ...20、获得当前月份的最后一天 21、获取上月的第一天 22、获取上月的最后一天 23、根据传入的日期返回前一季度字符串 24、根据传入的日期返回相应的季度 .......

    java时间工具TimeUtil

    获取本月最后一天日期:" + tt.getDefaultDay()); 获取上月第一天日期:" + tt.getPreviousMonthFirst("yyyy-MM-dd")); 获取上月最后一天的日期:" + tt.getPreviousMonthEnd("yyyy-MM-dd")); 获取某月第一天日期:" + ...

    基于Java语言编写的Spring Boot时间工具类方法封装

    基于Java语言编写的Spring Boot时间工具类方法封装,主要方法如下:根据日期获取该日期内24小时的整点时刻、获取当月的 天数、根据 年、月 获取对应的月份 的 天数、根据指定日期得获取对应月份的所有日期的每日结束...

    Java日期处理类 自己整理的

    自己整理的Java日期处理类 。包含获取两个之间段之间的天数、月初日期,月末日期、一个时间段之间的所有的日期,月份 一周的第一天,最后一天、 当前是周几等。仅供参考

    DateUtils.java

    里面主要封装了 "日期转字符串","字符串转日期","获取当前日期的本周一是几号","获取当前日期周的最后一天","根据日期区间获取月份列表","根据日期获取年度中的周索引","根据年份获取年中周列表","获取某年的第几周...

    最全Java常用日期处理工具类

    该Java工具类调用时只需要类名.方法即可调用。 1.返回纯数字的年月日时分秒时间戳:20191008103656 ...13.获取本月最后一天(月底时间) 以上这些方法都在该Java工具类,当然不仅仅包含这些,还有其他的很多。

    LocalDateTimeUtil.java

    * 获取当前月份前/后的月份的最后一天 * @param i 指定距离当前月份的时间 * @param state 状态 0.当月 1.前 2.后 * @return */ public static String lastDay(Integer state,Integer i){ LocalDateTime date...

    JAVA日期操作汇总

    java日期的使用介绍和具体实现的示例 (适合新手) 1.计算某一月份的最大天数 Calendar time=Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR,year); time.set(Calendar.MONTH,i-1);//注意,Calendar...

    Java自动月历程序

    那天看见有人用C++编写了一个简单的输入年然后通过Unix时间戳来获得年历。用的是循环和除法。效率上是不高的。今天特地编写了利用java内置的Canlendar来获取时间(这个是依赖平台的,那个利用时间戳的是不依赖平台的)...

    获取当前月(季度/年)的最后一天(set相关操作及应用)

    今天来说说“获取当前月(季度/年)的最后一天”的用法 你可能想到了,每个月的天数是不应定的,有28、29(闰年2月)、30、31,总不能去算一下现在是几月份,然后去arr或者map(json)里边去找对应的日期吧,当然这...

    java实现两个时间相差的年月日 (相差几年几天几日的结果)

    网上很多资源都没有输出结果是(相差几年几个月几天的代码)希望对大家有帮助 有不足地方 望大家多多指点

    java操作日期大全

    * 1.各种日期类型(字符,util.Date,sql.Date,Calendar等)转换 * 2.获取指定日期的年份,月份,日份,小时,分,秒,毫秒 * 3.获取当前/系统日期(指定日期格式) ...获取指定月份的第一天,最后一天

    java时间处理工具类--CalendarUtil(java源码)

    * 获得所在月份的最后一天 * @param 当前月份所在的时间 * @return 月份的最后一天 */ public static Date getLastDateByMonth(Date date) { Calendar now = Calendar.getInstance(); now.setTime(date...

    微信公众平台-JAVA模拟登陆获取用户列表和循环群发消息功能

    JAVA模拟登陆获取用户列表和循环群发消息功能,研究了3天,综合了网上很多人的代码,终于完成了,网上代码因为8月份微信改动导致基本都不可以用了,目前我这套是可以用的,但是模拟登陆群发消息有风险,突破了群服务...

    java获取指定开始时间与结束时间之间的所有日期

    主要为大家详细介绍了java获取指定开始时间与结束时间之间的所有日期,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    JAVA日历程序设计

    要获取日历应用程序,需要定义两个输入域:月和年,因为典型的应用是有12个月的罗马日历,所以从年份...}//最后一天后面的按钮置空 for (int i = day_week + day; i ; i++) { button_day[i].setText(" "); } } }

Global site tag (gtag.js) - Google Analytics