Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用strtime解析unicode日期时出错_Python_Datetime_Unicode - Fatal编程技术网

Python 使用strtime解析unicode日期时出错

Python 使用strtime解析unicode日期时出错,python,datetime,unicode,Python,Datetime,Unicode,我想用strtime #-*-coding:utf-8-*- from time import strptime date_text = '06月13日 星期五' print strptime(date_text, '%m月%d日 %A') 我得到了这个错误: ValueError: time data '06\xe6\x9c\x8813\xe6\x97\xa5 \xe6\x98\x9f\xe6\x9c\x9f\xe4\xba\x94' does not match format '%m\

我想用
strtime

#-*-coding:utf-8-*-

from time import strptime

date_text = '06月13日 星期五'
print strptime(date_text, '%m月%d日 %A')
我得到了这个错误:

ValueError: time data '06\xe6\x9c\x8813\xe6\x97\xa5 \xe6\x98\x9f\xe6\x9c\x9f\xe4\xba\x94' does not match format '%m\xe6\x9c\x88%d\xe6\x97\xa5 %A'

%A
仅分析当前配置的区域设置中的工作日;默认情况下,这始终是
C
locale,并且只识别英文工作日名称

您必须使用设置语言环境,但每次只能为一个用户使用的独立程序设置语言环境

另一个选项是不让
strtime
解析工作日;您可以在自己的映射中查找:

daymonth, weekday = date_text.split()
date = strptime(daymonth, '%m月%d日')
weekday = weekdays_dict[weekday]
或者完全忽略
工作日
;相同的信息已包含在月份和日期中

无论哪种方式,都可以很好地解析月份和日期部分:

>>> from time import strptime
>>> date_text = '06月13日 星期五'
>>> strptime(date_text.split()[0], '%m月%d日')
time.struct_time(tm_year=1900, tm_mon=6, tm_mday=13, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=164, tm_isdst=-1)

您是否正确设置了区域设置<代码>%A依赖于区域设置。请注意,
编码
注释在此处没有区别;您正在创建字节字符串,而不是Unicode值,不会进行解码。是否有任何东西可以用来替换
%A
?实际上我不需要那部分数据。