django将日期与日期进行比较

时间:2012-09-13 22:46:34

标签: django date comparison

我尝试拒绝导入日期小于已导入日期的行。

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]

行看起来像: 2012-01-12,东西,0,something2

当然比较行[0]> timelimit是错误的 - 但是什么是正确的?

1 个答案:

答案 0 :(得分:1)

    #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)

然后你可以像这样转换datetime对象中的timelimit:

    timelimit = datetime(2011, 10, 10)

然后将这两者进行比较是微不足道的:

    x > timelimit