【问题标题】:PeeWee TimestampField retrieved as DateTimePeeWee TimestampField 检索为 DateTime
【发布时间】:2018-02-11 15:30:18
【问题描述】:

关于使用 Python 3.6 在 PeeWee 中使用 TimestampField 的问题。我的模型包含以下属性:

timestamp= peewee.TimestampField(utc=True)

我存储一个时间戳如下:

obj = TestObject(timestamp = Decimal(UnixtimestampString))
obj.save()

print(type(TestObject.get().timestamp))

输出:

Type: <class 'datetime.datetime'>

这是正常行为吗?我想将时间戳检索为十进制(我输入的方式)。显然我可以转换它,但我想知道为什么在两者都返回 DateTime 对象时使用 TimestampField 而不是 DateTimeField。

唯一的区别是输入数据的方式吗? (在 DateTimeField 的情况下作为 DateTime 对象与 TimestampField 的整数/十进制中的 unix 时间戳。)

【问题讨论】:

    标签: python datetime unix-timestamp peewee


    【解决方案1】:

    TimestampField 的存在是为了存储日期时间,以时间戳、整数形式表示……但 Python 表示是 datetime 对象。

    如果您想使用整数(或浮点)时间戳,则没有理由使用TimestampField,只需使用IntegerFieldFloatField

    【讨论】:

    • IntegerField 是否在 Y2k38 之后工作? peewee 文档不清楚这是否支持 int32 或 int64...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    • 2014-09-01
    • 2021-06-22
    • 1970-01-01
    相关资源
    最近更新 更多