java定义一个工具方法返回距当前时间的上一季度结束时间戳
时间: 2024-02-15 20:04:59 浏览: 79
JS实现时间戳转换工具
可以使用以下代码定义一个工具方法来返回距当前时间的上一季度结束时间戳:
```java
public static long getLastQuarterEndTimestamp() {
Calendar calendar = Calendar.getInstance();
int currentMonth = calendar.get(Calendar.MONTH) + 1;
int quarterEndMonth = ((currentMonth - 1) / 3) * 3; // 上一季度结束月份
int quarterEndDay = 1; // 上一季度结束日期为1号
if (quarterEndMonth == 0) { // 如果上一季度结束月份为0,则表示上一季度结束时间为去年的10月1号
quarterEndMonth = 10;
calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR) - 1);
}
calendar.set(Calendar.MONTH, quarterEndMonth - 1);
calendar.set(Calendar.DAY_OF_MONTH, quarterEndDay);
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
calendar.set(Calendar.MILLISECOND, 999);
return calendar.getTimeInMillis() / 1000; // 返回时间戳(单位为秒)
}
```
在上述代码中,我们使用了 `java.util.Calendar` 类来计算上一季度结束的时间。具体来说,我们首先获取当前时间的月份,然后计算出上一季度结束的月份。如果上一季度结束的月份为0,则表示上一季度结束时间为去年的10月1号。
接下来,我们使用 `Calendar` 对象设置上一季度结束的日期、时间,并将其转换为时间戳(单位为秒)返回即可。需要注意的是,在设置时间时,我们将小时、分钟、秒和毫秒均设置为最大值,以确保返回的是上一季度结束的最后一刻时间。
阅读全文