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());
朋友你好呀,来的来了认识下,关注一下吧!哈哈
春有百花秋有月,夏有凉风冬有雪!