我尝试使用unicode格式字符串调用python的time.strftime()函数:

u'%d\u200f/%m\u200f/%Y %H:%M:%S'

\u200f是“从右到左”标记(rlm)。
但是,我得到一个例外,即RLM字符不能编码为ASCII:
unicodeencodeerror:'ascii'编解码器无法对位置2中的字符u'\u200f'进行编码:序号不在范围内(128)
我试过寻找另一种选择,但找不到一个合理的。这个函数是否有其他的选择,或者使用Unicode字符的方法?

最佳答案

许多标准库函数仍然不支持它们应该支持的Unicode。您可以使用此解决方法:

import time
my_format = u'%d\u200f/%m\u200f/%Y %H:%M:%S'
my_time   = time.localtime()
time.strftime(my_format.encode('utf-8'), my_time).decode('utf-8')

关于python - 为Python的`time.strftime()`使用Unicode格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2571515/

10-12 21:10