如何将带有阿拉伯字符的字符串日期转换为英文字符串日期?最好使用 DateTime
How can I convert string dates with arabic characters to english string dates? preferably by using DateTime
这是一个阿拉伯语日期示例:(٢٠٢٢-٠٦-٠٤T٠٥:١٠:٠٢+03:00) 当我尝试将其从 iso 格式转换时
到一个常规的可读日期,它给出了这个错误
date = '٢٠٢٢-٠٦-٠٤T٠٥:١٠:٠٢+03:00'
date = datetime.datetime.fromisoformat(date)
ValueError: Invalid isoformat string: '٢٠٢٢-٠٦-٠٤T٠٥:١٠:٠٢+03:00'
我需要将阿拉伯数字翻译成常规数字才能使其正常工作,我已经测试 google 将此日期翻译成英语并且它有效,所以这是可能的。我找不到使用日期时间执行此操作的方法。
您可以使用 Unidecode 库:
from unidecode import unidecode
date = '٢٠٢٢-٠٦-٠٤T٠٥:١٠:٠٢+03:00'
date = datetime.datetime.fromisoformat(unidecode(date))
这是一个阿拉伯语日期示例:(٢٠٢٢-٠٦-٠٤T٠٥:١٠:٠٢+03:00) 当我尝试将其从 iso 格式转换时 到一个常规的可读日期,它给出了这个错误
date = '٢٠٢٢-٠٦-٠٤T٠٥:١٠:٠٢+03:00'
date = datetime.datetime.fromisoformat(date)
ValueError: Invalid isoformat string: '٢٠٢٢-٠٦-٠٤T٠٥:١٠:٠٢+03:00'
我需要将阿拉伯数字翻译成常规数字才能使其正常工作,我已经测试 google 将此日期翻译成英语并且它有效,所以这是可能的。我找不到使用日期时间执行此操作的方法。
您可以使用 Unidecode 库:
from unidecode import unidecode
date = '٢٠٢٢-٠٦-٠٤T٠٥:١٠:٠٢+03:00'
date = datetime.datetime.fromisoformat(unidecode(date))