【问题标题】:Converting DateTimeField in Django to Unix time [duplicate]将 Django 中的 DateTimeField 转换为 Unix 时间
【发布时间】:2017-04-01 00:52:38
【问题描述】:

在我的一个 Django 项目中,我在模型中使用了DateTimeField。这基本上有 python datetime.datetime 实例。

自纪元以来将其转换为时间的最快方法是什么(以秒为单位)?

【问题讨论】:

  • 我不同意这是重复的。如果您有一个日期时间字段 Django 并且您想要 unix 时间戳,您可以执行以下操作:Project.objects.get(id=1)。现在可以通过Project.objects.get(id=1)[0]['created_at'].timestamp() 访问时间戳

标签: python django


【解决方案1】:

在 Python 3.3+ 中你可以使用datetime.timestamp():

>>> datetime.datetime(2012,4,1,0,0).timestamp()
1333234800.0

对于早期版本的 Python,您可以这样做:

# Format it into seconds
>>> datetime.datetime(2012,04,01,0,0).strftime('%s')
'1333234800'

# OR, subtract the time with 1 Jan, 1970 i.e start of epoch time
# get the difference of seconds using `total_seconds()`
>>> (datetime.datetime(2012,04,01,0,0) - datetime.datetime(1970,1,1)).total_seconds()
1333238400.0

【讨论】:

  • 使用%s 可能遇到的任何问题(因为它的实现取决于操作系统)?
  • @HassanBaig 我不知道。你能分享一些文件吗?值得一读:)
【解决方案2】:
datetime.datetime(date).strftime('%s')

我认为它对你有用。

【讨论】:

    猜你喜欢
    • 2015-11-17
    • 2016-08-02
    • 2012-02-29
    • 1970-01-01
    • 2023-03-18
    • 2014-11-28
    • 2013-12-14
    • 2012-07-18
    • 1970-01-01
    相关资源
    最近更新 更多