1
class event_archive(models.Model):
event_id            = models.AutoField(primary_key=True)
date_submitted      = models.DateTimeField()
event_start_time    = models.DateTimeField()
event_end_time      = models.DateTimeField()
event_closed        = models.BooleanField()

我想这样做:这是伪代码:


event = event_archive.objects.all()
for e in event:
if event_start_time > datetime_now()
    print "upcoming";
elif event_start_time < datetime_now() < event_end_time
    print "now";
elif event_end_time < datetime_now() < **24 hours passed the event ends**
    print "%d hours ago",%hour;
elif event_end_time < datetime_now() > **24 hours passed the event ends** and event_end_time < datetime_now() < **48 hours passed the event ends**
    print "yesterday";
else
    print "recorded"
endif;
endfor;

** 我在编程和 python 方面很新。如果我问了非常愚蠢的问题或没有明确提出问题,请不要介意。在粗线中我不确定我应该使用什么?

我需要帮助来编写我的 django 视图功能..请提供任何帮助..

4

3 回答 3

1
import datetime

if some_datetime > datetime.datetime.now() + datetime.timedelta(days=10):
    return "some_date is greater than the current datetime plus 10 days"

请参阅 timedelta 文档:http ://docs.python.org/library/datetime.html#datetime.timedelta

于 2012-07-30T10:35:41.583 回答
1

如果您为模板执行此操作,请使用为此任务设计的timeuntil和过滤器。timesince

于 2012-07-30T12:16:37.097 回答
0
from datetime import datetime

datetime_now = datetime.now()

'datetime_now' 变量现在具有当前时间。

使用此变量与事件开始时间进行比较,并针对该条件打印或执行相关操作。

例如:

if event_start_time > datetime_now:
  print "upcoming"
于 2012-07-30T10:09:13.233 回答