java如何获取本季度第一天0点时间和本季度最后一天23点59分59秒的时间
时间: 2024-03-03 17:53:45 浏览: 12
可以使用 Java 中的 Calendar 类来获取本季度第一天0点时间和本季度最后一天23点59分59秒的时间。以下是示例代码:
```java
import java.util.Calendar;
public class Test {
public static void main(String[] args) {
// 获取当前日期
Calendar calendar = Calendar.getInstance();
// 获取当前季度
int currentQuarter = (calendar.get(Calendar.MONTH) / 3) + 1;
// 获取本季度第一天0点时间
calendar.set(Calendar.MONTH, (currentQuarter - 1) * 3);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
long startOfQuarter = calendar.getTimeInMillis();
System.out.println("本季度第一天0点时间:" + startOfQuarter);
// 获取本季度最后一天23点59分59秒的时间
calendar.set(Calendar.MONTH, currentQuarter * 3);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.add(Calendar.DAY_OF_MONTH, -1);
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
calendar.set(Calendar.MILLISECOND, 999);
long endOfQuarter = calendar.getTimeInMillis();
System.out.println("本季度最后一天23点59分59秒的时间:" + endOfQuarter);
}
}
```
上述代码中,首先获取当前日期,然后根据当前月份计算出当前季度。然后利用 Calendar 类来设置日期时间,最后使用 getTimeInMillis() 方法获取时间戳。注意,Calendar 类中的月份是从0开始计数的,因此需要对计算出的月份进行处理。