末如何创建代表当月的最后一刻DateTime对象?Python的日期时间和月份
回答
使用一个简单的技巧:将日期设置为下一个月的第一个日期,然后按照您的需要减去一秒/小时/天/秒。
+1:始终有效 - 永远不需要知道当月的天数。或者一年,就此而言。 – 2009-11-02 16:03:50
import datetime
def eom(dt):
sometime_next_month= dt.replace(day=1) + datetime.timedelta(days=31)
start_of_next_month= sometime_next_month.replace(day=1,hour=0,minute=0,second=0)
return start_of_next_month - datetime.timedelta(seconds=1)
>>> eom(datetime.datetime(1972, 2, 1, 23, 50, 50))
datetime.datetime(1972, 2, 29, 23, 59, 59)
>>> eom(datetime.datetime(1980, 12, 31))
datetime.datetime(1980, 12, 31, 23, 59, 59)
你为什么歧视十二月? – SilentGhost 2009-11-02 20:55:08
你说得对。我的印象是datetime.datetime正在做*正确的事*,但显然我错了。我会在SO中找到我在另一个答案中编写的代码。 – tzot 2009-11-02 22:21:51
selected_date = date(some_year, some_month, some_day)
if selected_date.month == 12: # December
last_day_selected_month = date(selected_date.year, selected_date.month, 31)
else:
last_day_selected_month = date(selected_date.year, selected_date.month + 1, 1) - timedelta(days=1)
其中“timedelta(天= 1)”可能是下个月和前一个月的最后时刻的差异。
- 1. 从日期,月份和年份开始的Python时间戳
- 2. 如何在日期时间内翻转月份和日期?
- 3. Symfony日期时间字段日期和月份可选
- 4. Django过滤日期时间按年份,月份,日期,小时和分钟
- 5. 获取日期,年份和月份的时间戳
- 6. 从日期时间视场中的年份和月份条目
- 7. 关于日期 - 时间差异的月份和年份
- 8. 我的日历不显示日期时间月份单击下月月份
- 9. 从日期时间获取月份
- 10. 如何与日期时间一起创造月份和年份
- 11. 时间戳记日期,月份和年份jquery
- 12. 转换日期时间为nvarchar,只是年份和月份
- 13. 乳胶日期日期时间计算月份日年
- 14. 按日期时间的月份/日期排序Django QuerySet?
- 15. 日期和月份日期之间的问题
- 16. 日期时间(月)
- 17. 月份和年份的日期转换
- 18. 计算月份和年份的日期
- 19. 从给定时间(Python)查找日期x年,月份
- 20. 从日期时间对象python减去月份
- 21. 日历 - 获取月份和月份的日期
- 22. 从Python日期中提取两位数月份和日期
- 23. 如何状态日期时间时区来获取日期和月份
- 24. 如何检查数据库表中日期和月份的日期和月份
- 25. 任何时间:日期和月份的i18N来自moment.js
- 26. 将日期时间拆分为日期/年/月/日名称和计数年份
- 27. Python本地日期时间月
- 28. 选择月份和月份中的所有日期的总和
- 29. Mysql在日期和月份列之间获取日期划分
- 30. 字符串到日期时间的转换 - 指定在日期和月份日期的年份
你在找什么精度? – SilentGhost 2009-11-02 16:01:02
1秒就足够了 – Konstantin 2009-11-02 16:02:05