1
A
回答
3
对于一个明确的答复使用日历的月份长度:
months = lambda a, b: abs((a.year - b.year) * 12 + a.month - b.month)
例子:
>>> import datetime
>>> a = datetime.date(2011, 2, 8)
>>> b = datetime.date(2010, 5, 14)
>>> months(a, b)
9
编辑,如果你想根据天圆太:
months = lambda a, b: abs((a.year - b.year) * 12 + a.month - b.month) + int(abs(a.day - b.day) > 15)
例子:
>>> import datetime
>>> a = datetime.date(2011, 2, 8)
>>> b = datetime.date(2010, 5, 14)
>>> months(a, b)
9
>>> b = datetime.date(2010, 5, 30)
>>> months(a, b)
10
5
Datefields是datetime.date实例。你可以直接减去它们,它会给你一个timedelta。您可以通过timedelta.days访问timedelta表示的天数。比方说检测DateField self.date设置为两个月前:
today = datetime.date.today()
n = today - self.date
months = int(n.days/30)
应该给你的月数在这种情况下2.取决于你如何定义最近一个月,你可能需要四舍五入,而不是铸造一个int。
0
def date_diff:
now = datetime.now().date()
s=seo_job.job_end_date.replace(hour=23,minute=59,second=59).date()
#seo_job.job_end_date an end date that is saved in db
return (now-s)
相关问题
- 1. 减去日期
- 2. 减去日期
- 3. 减去日期
- 4. 减去日期
- 5. JavaScript减去日期
- 6. sql减去日期
- 7. Sqlcmd减去日期
- 8. 减去2日期
- 9. java.util.concurrent.TimeUnit减去日期
- 10. 减去日期ORA01847
- 11. 如何减去日期日期在JavaScript
- 12. 在蒙戈减去日期
- 13. 日期减去日期“工作日”
- 14. 如何在Django/python中减去这两个日期?
- 15. 在Django中减去日期时间 - 无输出
- 16. 在t-sql中减去两个日期
- 17. 如何在angularjs中减去日期
- 18. 在oracle中减去两个日期sql
- 19. 在PHP中减去两个日期
- 20. 在PHP/Mysql中减去两个日期
- 21. 在红宝石中减去日期
- 22. Vb.net当前日期减去日期
- 23. 日期。减去从列当前日期
- 24. 减去日期;日期格式
- 25. VBA不能从日期减去日期
- 26. 减去日期时间
- 27. 触发与减去日期
- 28. 减去日期时间列
- 29. 减去日期变量PHP
- 30. 使用EXSLT减去日期
你的“月”之一有多长? – 2011-02-09 01:57:51
一个月将是30天,谢谢。 – Andrew 2011-02-09 02:01:14