【问题标题】:how to convert date-time to epoch in python?如何在python中将日期时间转换为纪元?
【发布时间】:2017-02-28 12:30:06
【问题描述】:

我希望将这个特定的日期时间转换为纪元,但它给了我格式错误。我应该使用什么格式来执行以下操作,以便可以呈现 json。 “2016 年 10 月 14 日 14:34:14+00:00”。我正在使用 python 2.7 和 django 1.10

stra = "instance[0].Timing"
formata = "%Y-%m-%d %H:%M:%S+00:00"
timing = calendar.timegm(time.strptime(stra, formata))
     return HttpResponse(json.dumps(
           {'result': 'True'
            'timing': timing,
            }))

【问题讨论】:

  • 请发布您的代码和完整的错误信息。
  • stra 已经是字符串了吗?
  • 这是错误 - 时间数据 'instance[0].Timing' 与格式 '%Y-%b-%d %H:%M:%S+0000' 不匹配
  • @KartikSharma 看起来你之前的代码已经有问题了。

标签: python json django datetime epoch


【解决方案1】:

实际上在 django 中的 datetime 对象是按以下方式在 epoch 中转换的。

示例 1

import datetime

current_date = datetime.datetime.now()
epoch = int(current_date.strftime("%s")) * 1000

示例 2

import datetime
date_object = datetime.datetime.strptime('Jun 1 2005  1:33PM', '%b %d %Y %I:%M%p')
epoch = int(date_object.strftime("%s")) * 1000

【讨论】:

    【解决方案2】:

    选项1,你可以使用isoformat():

    from datetime import datetime
    
    print(datetime.utcnow().isoformat())
    # '2016-10-19T03:39:40.485521'
    

    选项2,strftime(),不要与strptime混淆:

    print(datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S+00:00'))
    # '2016-10-19 03:42:58+00:00'
    

    【讨论】:

    • 我有这个日期时间(选项 2)我想将其转换为纪元。
    【解决方案3】:

    这是一个文字字符串,它不会从您拥有的任何实例中提取数据:

    stra = "instance[0].Timing"
    

    也许您的意思是以下?

    stra = instance[0].Timing
    

    【讨论】:

      猜你喜欢
      • 2020-02-25
      • 2018-04-24
      • 2011-12-06
      • 2016-06-08
      • 1970-01-01
      • 2012-09-06
      • 2010-10-18
      • 2019-09-19
      • 1970-01-01
      相关资源
      最近更新 更多