如何在python中解析日期“Thu,2015年10月1日16:05:43+0200”?
在python中,我试图解析日期字符串如何在python中解析日期“Thu,2015年10月1日16:05:43+0200”?,python,time,Python,Time,在python中,我试图解析日期字符串 Thu, 1 Oct 2015 16:05:43 +0200 一次又一次的尝试 这会产生一个值错误 如何避免我不感兴趣的+0200?删除最后6个字符?或者有“更好”的解决方案吗?只需删除最后一块;您可以通过切片删除最后6个字符(是)或通过分区拆分最后一个部分来完成此操作: x = time.strptime(date_string.rpartition(' ')[0], "%a, %d %b %Y %H:%M:%S") 如果最后一个数据块不是6个字符,
Thu, 1 Oct 2015 16:05:43 +0200
一次又一次的尝试
这会产生一个值错误
如何避免我不感兴趣的+0200?删除最后6个字符?或者有“更好”的解决方案吗?只需删除最后一块;您可以通过切片删除最后6个字符(是)或通过分区拆分最后一个部分来完成此操作:
x = time.strptime(date_string.rpartition(' ')[0], "%a, %d %b %Y %H:%M:%S")
如果最后一个数据块不是6个字符,分区应该继续工作,比如说,因为您有以3个字母代码表示的时区的日期。我认为您需要%z。datetime.strptime上的%z格式字符串不在time.strptime上可用,并且仅在Python 3.2上可用。对于您的特定情况:如果您有最新的Python,可以使用datetime.strptime+%z,然后通过datetime.timetuple方法将其转换为struct_time。但这条简单的指令将引入对Python>=3.2的依赖性,这可能不是简单任务所能证明的……使用posix_timestamp=mktime_tzparsedata_tzThu,2015年10月1日16:05:43+0200 from email.utils。对于纯stdlib-Python 2/3兼容的代码,请参阅,而不是分区,我建议只使用正确的标识符%z而不是+0000.Hm。好的,我想我遗漏了文档中提到的一些“特殊”参数,但它似乎不存在。永远相信Martijn。。。
x = time.strptime(date_string.rpartition(' ')[0], "%a, %d %b %Y %H:%M:%S")