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. Sqlcmd減去日期
- 4. 減去日期ORA01847
- 5. 如何減去日期日期在JavaScript
- 6. 在蒙戈減去日期
- 7. 日期減去日期「工作日」
- 8. 如何在Django/python中減去這兩個日期?
- 9. 如何在angularjs中減去日期
- 10. 日期。減去從列當前日期
- 11. VBA不能從日期減去日期
- 12. 減去日期時間
- 13. 減去日期返回負
- 14. 減去日期和時間
- 15. 2。減去日期時間
- 16. 日期時間減去uwp
- 17. 使用EXSLT減去日期
- 18. 從日期元組減去
- 19. 觸發與減去日期
- 20. 在SQL中,我想從上一行日期中減去日期
- 21. 如何從另一個日期在Oracle中減去日期
- 22. 如何在PL/SQL中減去當前日期的日期
- 23. 如何減去兩個日期在Django/Python的?
- 24. 如何減去兩個日期在Laravel5.4
- 25. 減去日期時間在Python
- 26. 減去兩個日期在PHP
- 27. 從輸入字段中減去日期
- 28. 外殼 - 從日期中減去整數
- 29. Excel中 - 減去兩個日期
- 30. 從宏變量中減去日期
你的「月」之一有多長? – 2011-02-09 01:57:51
一個月將是30天,謝謝。 – Andrew 2011-02-09 02:01:14