根据当前日期获取上月第一天和最后一天,用Python代码实现
时间: 2023-07-18 19:24:26 浏览: 104
可以使用Python的datetime和timedelta模块来实现获取上月第一天和最后一天的功能,具体代码如下:
```python
import datetime
today = datetime.date.today() # 获取当前日期
first_day = today.replace(day=1) # 获取本月第一天
last_month = first_day - datetime.timedelta(days=1) # 上个月最后一天
first_month = last_month.replace(day=1) # 上个月第一天
print("上个月第一天:", first_month)
print("上个月最后一天:", last_month)
```
输出结果:
```
上个月第一天: 2022-03-01
上个月最后一天: 2022-03-31
```
注意,这里假设当前日期为2022年4月1日,即代码中的`today = datetime.date.today()`返回的是2022年4月1日。如果要测试其他日期的上月第一天和最后一天,需要手动修改`today`的值。
相关问题
LocalDateTime获取上月第一天和最后一天
获取上个月的第一天可以使用以下代码:
```
LocalDateTime now = LocalDateTime.now();
LocalDateTime firstDayOfLastMonth = now.minusMonths(1).withDayOfMonth(1).withHour(0).withMinute(0).withSecond(0).withNano(0);
```
首先获取当前时间,然后使用 `minusMonths(1)` 减去一个月,再使用 `withDayOfMonth(1)` 设置为当月的第一天,最后将时分秒和毫秒都设置为0,得到上个月的第一天。
获取上个月的最后一天可以使用以下代码:
```
LocalDateTime lastDayOfLastMonth = now.withDayOfMonth(1).minusDays(1).withHour(23).withMinute(59).withSecond(59).withNano(999999999);
```
首先将时间设置为当月的第一天,然后使用 `minusDays(1)` 减去一天,得到上月的最后一天。最后将时分秒和毫秒都设置为最后一刻,即23:59:59.999999999。
java获取上月第一天和最后一天
获取上月第一天和最后一天可以使用Java的Calendar类和SimpleDateFormat类来实现。
以下是获取上月第一天和最后一天的代码:
```
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Test {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
Date firstDay = calendar.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println("上月第一天:" + sdf.format(firstDay));
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
Date lastDay = calendar.getTime();
System.out.println("上月最后一天:" + sdf.format(lastDay));
}
}
```
上面的代码中,首先获取当前日期并将其设置为Calendar对象的时间,然后使用`add`方法将月份减去1,即得到上个月的日期。接着使用`set`方法将该日期设置为该月的第一天,即`DAY_OF_MONTH`设置为1。然后使用`getTime`方法获取Date类型的日期,最后使用SimpleDateFormat格式化输出。
同样的方式,我们可以通过`set`方法将该日期设置为该月的最后一天,即`DAY_OF_MONTH`设置为该月的最大值,然后输出即可。
阅读全文