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