我有时间采用这种格式:
Fri, 19 Dec 2014 03:55:24
我希望将其转换为4字节的十六进制值。我的问题类似于这个:question,但区别在于我有不同的格式,我使用gmtime()
函数,因为我想要自Epoch以来的日期。这是我到目前为止所尝试的(通过尝试将类似问题的答案中的代码分解为更小的部分):
ut = time.strftime("%a, %d %b %Y %H:%M:%S ", time.gmtime())
time.strptime(ut, '%a, %d %b %Y %H:%M:%S')
但我收到错误:
ValueError: uncoverted data remains:
你能帮帮我吗?
我知道这是一个简单的问题,但我看不出是什么问题。
答案 0 :(得分:0)
删除
中使用的格式字符串中的尾随空格ut = time.strftime("%a, %d %b %Y %H:%M:%S ", time.gmtime())
该行应为:
ut = time.strftime("%a, %d %b %Y %H:%M:%S", time.gmtime())
没有%S之后的空格,它会在我身边运行!
答案 1 :(得分:0)
有几个步骤:
Parse rfc 5322 time string进入代表故障时间的对象
import email.utils
time_tuple = email.utils.parsedate("Fri, 19 Dec 2014 03:55:24")
将故障时间转换为自Epoch"以来的#34;秒编号
import calendar
timestamp = calendar.timegm(time_tuple) # assume input time is in UTC
以十六进制格式打印数字
print('%08X' % timestamp)
# -> 5493A1AC