网站首页 > java教程 正文
一年有4个季度(通常表示为Q1、Q2、Q3和Q4),每个季度有3个月。如果我们认为一月是0,二月是1,……,十二月是11,那么我们可以观察到一月/3=0,二月/3=0,三月/3=0,因此0可以代表Q1。接下来,3/3=1,4/3=1,5/3=1,所以1可以代表Q2。基于同样的逻辑,6/3=2,7/3=2,8/3=2,所以2可以代表Q3。最后,9/3=3,10/3=3,11/3=3,所以3代表Q4。
根据这个陈述和Calendar API,我们可以得到以下代码:
public static String quarter(Date date) {
String[] quarters = {"Q1", "Q2", "Q3", "Q4"};
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int quarter = calendar.get(Calendar.MONTH) / 3;
return quarters[quarter];
}
但是,从JDK 8开始,我们可以依赖于java.time.temporal.IsoFields。这个类包含遵循ISO-8601标准日历系统的字段(和单位)。在这些项目中,我们有基于周的年份,以及我们感兴趣的,一年中的季度。这次,让我们返回季度作为整数:
public static int quarter(Date date) {
LocalDate localDate = date.toInstant()
.atZone(ZoneId.systemDefault()).toLocalDate();
return localDate.get(IsoFields.QUARTER_OF_YEAR);
}
猜你喜欢
- 2024-10-12 Java好用的时间类,别再用Date了(java时间工具包)
- 2024-10-12 一文详解Java LocalDateTime(一文详解国资委79号文)
- 2024-10-12 Java时间类从此变得清晰明了(java时间属性)
- 2024-10-12 Java 面试题之 Logback 打印日志是如何获取当前方法名称的?
- 2024-10-12 JAVA8时间操作总结(java8时间处理)
- 2024-10-12 用java中的时间类实现一个日历(java中如何实现日期类)
- 2024-10-12 python获取时间戳(10位和13位)(py获取当前时间戳)
- 2024-10-12 让大学生写的一个计算时间的方法,有人看得出来是在做什么吗?这
- 2024-10-12 6种快速统计代码执行时间的方法,真香
- 2024-10-12 switch case 求输入年月日,输出该天为该年的第几天
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)