calendar获取当前时间,最近一个月,最近三个月,最近一年的开始时间

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
//最近一个月
Calendar calendar = Calendar.getInstance();
        String currentDate = format.format(calendar.getTime());
        Calendar currentdate = Calendar.getInstance();
        currentdate.add(Calendar.MONTH,-1);
        String startDate = format.format(currentdate.getTime());
//最近三个月
        calendar.add(Calendar.MONTH,-3);
        String starttime = format.format(calendar.getTime());
//最近一年
        calendar.add(Calendar.YEAR, -1); // 将当前时间往前推一年
        String lastYearStartDate = format.format(calendar.getTime());

Java中,获取当前时间并计算前后四个季度通常涉及到日期处理和数学运算。你可以使用`java.time`包下的`LocalDate`类和一些算术操作来实现这个功能。这里是一个简单的示例: ```java import java.time.LocalDate; import java.util.Calendar; public class QuarterCalculator { public static void main(String[] args) { // 获取当前日期 LocalDate currentDate = LocalDate.now(); // 计算前一个季度(Q4上一年的最后一季度) int yearBeforeLastQuarter = currentDate.getYear() - 1; int monthBeforeLastQuarter = Calendar.JANUARY + 3 * 3; // Q4从10开始到次年1结束 LocalDate lastQuarterBeforeCurrent = LocalDate.of(yearBeforeLastQuarter, monthBeforeLastQuarter, 1).withDayOfMonth(1); // 同理计算其他三个季度 int thisQuarter = Calendar.JANUARY + (currentDate.getMonthValue() - 1) / 3 * 3; LocalDate currentQuarter = LocalDate.of(currentDate.getYear(), thisQuarter, 1).withDayOfMonth(1); int nextQuarter = thisQuarter + 3; if (nextQuarter > 12) { // 越过12需要减去1年 nextQuarter -= 12; } LocalDate nextQuarterStart = LocalDate.of(currentDate.getYear() + (nextQuarter <= 12 ? 0 : 1), nextQuarter, 1).withDayOfMonth(1); int yearAfterNextQuarter = currentDate.getYear() + 1; int firstQuarterAfterCurrent = Calendar.JANUARY; LocalDate firstQuarterAfterCurrentStart = LocalDate.of(yearAfterNextQuarter, firstQuarterAfterCurrent, 1).withDayOfMonth(1); System.out.println("当前季度: " + currentQuarter); System.out.println("去年最后一个季度: " + lastQuarterBeforeCurrent); System.out.println("下一个季度: " + nextQuarterStart); System.out.println("下一年的第一个季度: " + firstQuarterAfterCurrentStart); } } ``` 请注意,这个例子假设每个季度有三个,并且使用了`Calendar`来辅助处理月份的边界。在实际应用中,可能会根据具体需求调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WAZYY0619

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值