从字符串/元组转换的UTC日期时间

时间:2018-04-30 00:41:33

标签: python python-3.x datetime unix time

我有一个日期时间对象,当我只是打印它时,它会返回下面的

Sub UnfilterCategories()
  Dim iCat As Long, nCat As Long
  With ActiveChart.ChartGroups(1)
    nCat = .FullCategoryCollection.Count
    For iCat = 1 To nCat
      .FullCategoryCollection(iCat).IsFiltered = False
    Next
  End With
End Sub

当我执行Thu Apr 26 22:51:49 PDT 2018

时它将作为元组返回
print (parsedate_tz(tt))

我正在努力的是如何将其转换为日期时间对象,以便我可以应用时间方法来添加或减去时间 我已尝试执行以下操作,但它失败并抱怨格式

(2018, 4, 26, 22, 51, 49, 0, 1, -1, -25200)

我已经尝试了tt= (results[0].create_date) datetime.strptime(tt , '%a %b %d %H:%M:%S %z %Y')

我正在尝试将其转换为%Z最终

1 个答案:

答案 0 :(得分:0)

你可以将9元组转换为datetime.datetime,如下所示(忽略它的索引6-8):

import datetime
#t = parsedate_tz(tt)
t = (2018, 4, 26, 22, 51, 49, 0, 1, -1, -25200)
tz = datetime.timezone(datetime.timedelta(seconds=t[-1]))
dt = datetime.datetime(*t[0:6], tzinfo=tz)
print(dt)
# ==> 2018-04-26 22:51:49-07:00

将其转换为UTC并打印出来:

dt_utc = dt.astimezone(datetime.timezone.utc)
print(dt_utc.strftime('%Y-%m-%dT%H:%M:%SZ'))
# ==> 2018-04-27T05:51:49Z