根据日期得到当月第一天和最后一天

本文通过一个具体例子展示了如何使用 Java 的 Calendar 类进行日期的增减操作,包括获取当前日期、增加一天得到开始日期以及设置为当月最后一天得到结束日期。

Calendar paycal= Calendar.getInstance();

paycal.setTime(new Date());

paycal.add(Calendar.DATE, 1);

Date startdate = paycal.getTime();

paycal.set(Calendar.DATE, paycal.getActualMaximum(Calendar.DATE)); 

Date enddate = paycal.getTime();

### 获取当月第一天最后一天日期 在 MySQL 中,可以通过多种方式获取当前份的第一天最后一天日期。以下是几种常见的方法,使用了不同的函数组合来实现这一目标。 #### 获取当月第一天 可以通过 `DATE_ADD` `DAY` 函数结合使用来获取当前份的第一天: ```sql SELECT DATE_ADD(CURDATE(), INTERVAL - DAY(CURDATE()) + 1 DAY); ``` 此查询通过从当前日期中减去当前份的天数并加上 1 天来计算当前份的第一天[^2]。 另一种方法是使用 `LAST_DAY` 函数结合 `INTERVAL` 来获取下个第一天,然后再减去一天: ```sql SELECT DATE_ADD(DATE_ADD(CURDATE(), INTERVAL 1 MONTH), INTERVAL - DAY(DATE_ADD(CURDATE(), INTERVAL 1 MONTH)) + 1 DAY); ``` 这种方法首先计算下个第一天,然后减去一天以获得当前份的最后一天。接着,再次减去一天以获得当前份的第一天[^2]。 #### 获取当月最后一天 获取当前份的最后一天可以使用 `LAST_DAY` 函数: ```sql SELECT LAST_DAY(CURDATE()); ``` 此查询直接返回当前份的最后一天[^2]。 还可以通过计算当前份的第一天并加上一个再减去一天来获得当前份的最后一天: ```sql SELECT DATE_ADD(DATE_ADD(CURDATE(), INTERVAL - DAY(CURDATE()) + 1 DAY), INTERVAL 1 MONTH) - INTERVAL 1 DAY; ``` 此查询首先计算当前份的第一天,然后加上一个,再减去一天以获得当前份的最后一天。 ### 示例代码 以下是一个完整的示例,展示了如何在一个查询中同时获取当前份的第一天最后一天: ```sql SELECT DATE_ADD(CURDATE(), INTERVAL - DAY(CURDATE()) + 1 DAY) AS FirstDayOfMonth, LAST_DAY(CURDATE()) AS LastDayOfMonth; ``` 此查询返回两个字段:`FirstDayOfMonth` 表示当前份的第一天,`LastDayOfMonth` 表示当前份的最后一天。 ### 相关问题 1. 如何在 MySQL 中获取上个第一天最后一天? 2. 如何在 MySQL 中获取下个第一天最后一天? 3. 如何在 MySQL 中获取当前季度的第一天最后一天? 4. 如何在 MySQL 中获取当前第一天最后一天? 5. 如何在 MySQL 中动态计算任意日期第一天最后一天
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值