【问题标题】:Python Datetime issue with Jenkins APIJenkins API 的 Python 日期时间问题
【发布时间】:2013-06-04 19:59:41
【问题描述】:

我有一个与 Jenkins API (jenkinsapi) 集成的 Django 应用程序。我在 Build 对象上调用 get_timestamp() 方法。在交互模式下,它返回一个日期字符串,如“2013-05-07 09:29:46”;然而,在 Django 中,它返回一个 long,我认为它是一个 Unix 日期时间戳,但它是我得到 ValueError: year is out of range 的未来日期。它返回的值是 1368805100576。

>>> b = api.get_jobs()
>>> for job in b:
...     last_build = job[1].get_last_build_or_none()
...     print last_build.id(), last_build.get_timestamp() 
...
3 2013-05-07 09:29:46
2 2013-05-07 09:28:52

在非交互模式下:

print current_build.get_timestamp()
friendly_timestamp =       datetime.datetime.fromtimestamp(int(current_build.get_timestamp())).strftime('%Y-%m-%d %H:%M:%S')
ValueError: year is out of range

知道为什么这些会有所不同,get_timestamp 返回的时间有多长?

【问题讨论】:

  • print current_build.get_timestamp() 给你什么?

标签: python django jenkins


【解决方案1】:

看起来是以毫秒为单位的,

>>> import datetime
>>> datetime.datetime.fromtimestamp(1368805100576/1000)
datetime.datetime(2013, 5, 17, 8, 38, 20)

【讨论】:

  • 我还发现我拥有的 jenkinsapi 版本中存在错误。
猜你喜欢
  • 2014-09-04
  • 1970-01-01
  • 2021-06-12
  • 2020-05-09
  • 2021-12-19
  • 2010-10-28
  • 1970-01-01
  • 2017-03-24
  • 2022-11-14
相关资源
最近更新 更多