python-3.x - 如何根据当前日期变量获取当前和下个月的第一个日历日
问题描述
我有一个日期变量调用 today_date,如下所示。我需要得到当前和下个月的第一个日历日。在我的例子中,today_date 是 2021 年 4 月 17 日,我需要创建另外两个变量调用 first_day_current 应该是 4/1/2021,first_day_next 应该是 5/1/2021。非常感谢任何建议
import datetime as dt
today_date
'2021-04-17'
解决方案
获取一个月的第一个日期非常简单——因为它等于1
所有时间。您甚至可以在不需要datetime
模块的情况下为您简化计算,如果today_date
始终是字符串"Year-Month-Day"
(或任何一致的格式 - 相应地解析它)
today_date = '2021-04-17'
y, m, d = today_date.split('-')
first_day_current = f"{y}-{m}-01"
y, m = int(y), int(m)
first_day_next = f"{y+(m==12)}-{m%12+1}-01"
如果你想使用datetime.date()
,那么你无论如何都必须将字符串转换为 (year, month, date)int
作为参数给出(或做today_date = datetime.date.today()
. 然后.replace(day=1)
得到 first_day_current.
datetime.timedelta
不能添加月份(最多几周),所以您需要为此使用其他库。但实际上要执行相同的操作需要更多的导入和计算。
推荐阅读
- c - gtk_window_new 中的段错误
- huggingface-transformers - DISTILBERT_BASE_UNCASED 加载失败 - 拥抱脸变压器
- python - 一些列错误
- javascript - 将选定的对象拉出数组以创建另一个对象数组
- opencv - 我正在尝试制作 59 分钟和 59 秒的视频,但创建的视频总是持续时间较短
- swift - 如何在 SwiftUI 中将内容添加到收藏夹列表中?
- python - 如何使用 BeautifulSoup 循环链接并抓取新闻文章的内容
- powerapps - 使用下拉列表中的选定项目在 Power Apps 中显示项目
- reactjs - 如果可以被 3 整除,如何根据条件为列表中的特定项目分配不同的背景颜色?
- excel - 将工作表从另一个打开的工作簿复制到当前工作簿