Python 3,Django 2
我正在尝试获得一个函数,以一致地返回datetime对象。
在某些情况下它会起作用,而不能起作用。
我有一个函数,可以生成具有偏移量的datetime对象,如下所示:
from django.conf import settings
from datetime import datetime
def off_time():
date = datetime.now()
offset = settings.TIME_OFFSET
offtime = date + offset
return offtime
TIME_OFFSET是在设置中生成的,因此:
from datetime import timedelta
TIME_OFFSET = timedelta(days=370000)
如果我这样保存到模型对象:
from django.db import models
import stellar.physics_tools
class Test(models.Model):
cdate = models.DateTimeField(default=stellar.physics_tools.off_time, help_text='When Generated')
然后在cate上工作,我可以这样做:
cdate = test.cdate
creation_date = cdate.strftime("%d-%m-%Y %H:%M:%S")
就可以了。
但是,如果我尝试这样做:
newtime = stellar.physics_tools.off_time
return newtime.strftime("%d-%m-%Y %H:%M:%S")
我得到: “功能”对象没有属性“ strftime”
我需要此函数至少返回一个可以使用.strftime的对象。
任何帮助表示赞赏。谢谢。
答案 0 :(得分:1)
为此,我需要使用()调用函数,如下所示:
newtime = stellar.physics_tools.off_time()
我没有这样做,因为如果我在Django模型构造中这样做,它将返回定义类时创建的值,这不是我想要的。
简而言之,我仍然需要在Django模型中使用stellar.physics_tools.off_time,但是在此之外调用函数时,我需要使用stellar.physics_tools.off_time()。