未指定的未转换数据是什么意思?

时间:2019-03-26 06:30:17

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

我正在尝试使用strptime格式化我拥有的时间字符串,但是会出现

错误
  

“ ValueError:保留未转换的数据:”   没有实际指定丢失的数据

我不太确定如何解决此问题。这是我尝试过的:

t = 'Tue, 26 Mar 2019 06:25:01 GMT'
def function(t):
    timeString = t 
    date = datetime.datetime.strptime(timeString, '%a, %d %b %Y %H:%M:%s %Z')

我认为问题可能与应该在最后出现的浮点有关。任何帮助,将不胜感激。另外,将其转换为其他时区的任何技巧都很好。

2 个答案:

答案 0 :(得分:0)

您可以使用dateutil库来解析日期时间字符串。

这里是一个例子:

from datetime import timedelta
from exchangelib import UTC_NOW

since = UTC_NOW() - timedelta(hours=24)
for item in account.inbox.all()\
        .filter(datetime_received__gt=since)\
        .order_by('-datetime_received'):
    # Do something

输出:

from dateutil import parser 
datetime_string = 'Tue, 26 Mar 2019 06:25:01 GMT'
dt = parser.parse(datetime_string)
print(dt)

答案 1 :(得分:-1)

  

“ ValueError:仍保留未转换的数据:”

这表明datetime无法转换您提供的数据,可能是由于格式错误,因为它试图解析意外的值。

事实证明,您有错字。将时间格式中的 s 更改为大写的 S

    date = datetime.datetime.strptime(timeString, '%a, %d %b %Y %H:%M:%S %Z')