java通过日期获取季度的日常用法

在日常的工作当中,我们经常会遇到将日期对应通过接口返回季度的业务需求;一般的方法有如下:

第一种方式:用LocalDate

/**
     * 根据当前日期获取季度
     * @param date 日期
     * @return 季度
     */
    public static int getQuarterOfYear(LocalDate date) {
        return (int) date.get(IsoFields.QUARTER_OF_YEAR);
    }

    public static void main(String[] args) {
        System.out.println("当前季度111111111111:" );
        //System.out.println("当前季度:" + LocalDate.now().get(IsoFields.QUARTER_OF_YEAR));
        LocalDate today = LocalDate.now();
        //System.out.println("当前季度:" + getQuarterOfYear(today));
    }

第二种方式Calendar

public static int getQuarter(Date date) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        int month = calendar.get(Calendar.MONTH);
        return month / 3 + 1;
    }
 
    public static void main(String[] args) {
        Date date = new Date(); // 使用当前日期,也可以替换为任何指定的日期
        int quarter = getQuarter(date);
        System.out.println("当前季度是:" + quarter + "季度");
    }

备注

 

1. 将Date转换为LocalDateTime

 

Date date = new Date();
LocalDateTime localDateTime = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();

2. 将LocalDateTime转换为Date

LocalDateTime localDateTime = LocalDateTime.now();
Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());

3、将Date转换为LocalDate

Date date = new Date();
LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();

4、将LocalDate转换为Date

LocalDate localDate = LocalDate.now();
Date date = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());

 

 

朋友你好呀,来的来了认识下,关注一下吧!哈哈

 

posted @ 2024-11-04 15:22  逝年的我们  阅读(103)  评论(0编辑  收藏  举报