Python3和Django2中的日期时间对象不一致

时间:2018-08-05 20:11:09

标签: python-3.x datetime django-models

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的对象。

任何帮助表示赞赏。谢谢。

1 个答案:

答案 0 :(得分:1)

为此,我需要使用()调用函数,如下所示:

newtime = stellar.physics_tools.off_time()

我没有这样做,因为如果我在Django模型构造中这样做,它将返回定义类时创建的值,这不是我想要的。

简而言之,我仍然需要在Django模型中使用stellar.physics_tools.off_time,但是在此之外调用函数时,我需要使用stellar.physics_tools.off_time()。