Tomasz Brzezina
Tomasz Brzezina

Reputation: 1534

django compare date with date

I trying to refuse importing lines with date lesser than already imported.

timelimit = Operation.objects.filter(account = 3).aggregate(Max('date'))
for row in csv.reader(reencode(f), delimiter=';', quotechar='"')
  if row != []:
    if row[0]>timelimit:
      operation.date=row[0]

row looks like: 2012-01-12,something,0,something2

Of course comparison row[0]>timelimit is wrong - but what is correct?

Upvotes: 0

Views: 210

Answers (1)

thikonom
thikonom

Reputation: 4267

    #this will convert your string("2012-01-12") to a datetime object

    from datetime import datetime
    >>> x = datetime.strptime(row[0], "%Y-%m-%d")
    >>> x
    >>> datetime.datetime(2012, 1, 12, 0, 0)

And then you can convert timelimit in a datetime object too like so:

    timelimit = datetime(2011, 10, 10)

and then comparing these two is trivial:

    x > timelimit

Upvotes: 2

Related Questions