我如何从 IntgerField(Timestamp) 转换为 python datetime

How can i convert from IntgerField(Timestamp) to python datetime

unban_date = models.IntegerField()

此输出 = 数据库中的所有时间戳

我需要它来转换为 DateTime 我想出了这个,但它不起作用,因为它不需要 IntegarField

    intToParser = datetime.datetime.fromtimestamp(unban_date)
    parserToDate = intToParser.strftime('%Y-%b-%d %H:%M:%S')
    print(parserToDate)

这是 dJango 模型

据我了解,您有一个字段 urban_date,您希望将其转换为日期时间并使用 strftime .

如果我做对了,那么你可以使用 属性 装饰器。您可以阅读更多相关信息 here

对于你的情况,这样的事情会起作用。

# other fields
unban_date = models.IntegerField()

@property
def parserToDate(self):
    intToParser = datetime.datetime.fromtimestamp(self.unban_date)
    return intToParser.strftime('%Y-%b-%d %H:%M:%S')

      

有了这个,DisplayRecLv 的每个对象都会有一个 parserToDAte 属性。用于检查您是否使用

验证
>>> obj = DisplayRecLv.objects.first()
>>> obj.parserToDate
# some date

此外,如果您不使用某些遗留项目,我建议您使用 urban_date 本身的日期时间字段而不是整数字段。