2016-12-19 1 views
1

Ich möchte Tage Differenz zwischen dem aktuellen Datum und dem vorherigen Datum berechnen. ich diesen Code versuchen bekamWie Diff zwischen zwei Daten in Django zu berechnen

requiremntObj = CustomerLeads.objects.all() 
a = datetime.datetime.now().date() 

for i in requiremntObj: 
    date1=i.posting_date 
    diff = a-date1 
    print diff 

ich einen Fehler unsupported operand type(s) for -: 'datetime.date' and 'unicode'

Für aktuelles Datum i Datetime-Objekt bin immer und für date1 i Unicode bin immer.

posting_date = models.DateField() 
+0

ist 'posting_date' ein' CharField' oder 'DateTimeField'? – Hybrid

+0

Wie sieht das 'CustomerLeads' Modell aus? Ist 'posting_date' ein richtiges [DateTimeField] (https://docs.djangoproject.com/en/1.10/ref/models/fields/#datetimefield)? Wenn nicht: Fixiere dein Modell! – dhke

Antwort

0

Wenn Sie DateTimeField haben, können Sie verwenden:

delta = datetime.now().date() - posting_date 
print delta.days 

Wenn es String ist, dann müssen Sie konvertieren:

from datetime import datetime 
date_format = "%m/%d/%Y" 
a = datetime.strptime(str(datetime.now().date()), date_format) 
b = datetime.strptime(str(posting_date), date_format) 
delta = b - a 
print delta.days 

Hier post ist.

+0

Ich erhalte diese Störung \t Typen Objekt ‚datetime.datetime‘ hat kein Attribut ‚Datetime‘ –

+1

'datetime.datetime.now Replace()' in dem Antwortcode mit 'datetime.now()' –

+0

bearbeiten nur den Pfosten –

Verwandte Themen