【问题标题】:How can i convert from IntgerField(Timestamp) to python datetime我如何从 IntgerField(Timestamp) 转换为 python datetime
【发布时间】:2021-03-08 23:59:57
【问题描述】:
unban_date = models.IntegerField()

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

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

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

这是 dJango 模型

【问题讨论】:

  • 在这种情况下你为什么不使用日期时间字段?
  • 好吧,不,这些都是将整数转换为日期,我的是一个 IntegarField。它们是不同的东西。这些不会采用 IntegarField,而是采用 Integer 或 Float。
  • 你能告诉我们你在哪里转换的代码吗?因为 urban_date 最终会返回一个整数

标签: python mysql django database python-datetime


【解决方案1】:

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

如果我做对了,那么你可以使用 property 装饰器。你可以阅读更多关于这个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 本身的日期时间字段而不是整数字段。

【讨论】:

  • 非常感谢,这就像一个魅力,非常感谢帮助。也从中学到了很多。 :)
  • 欢迎。也请点赞。这将对其他用户有所帮助,并使我在 StackOverflow 上赢得一点声誉。
猜你喜欢
  • 2020-12-15
  • 2022-01-02
  • 2016-10-19
  • 1970-01-01
  • 2011-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多