如何更改时间库中的数字字体



我想更改%H&%中的数字字体M和我的数字,在输出时显示我的数字而不是通常的数字字体(1,…,9(。如果有人知道解决方案,我会很高兴帮助我并解决我的问题。非常感谢。

import time
me = (₀, ₁, ₂, ₃, ₄, ₅, ₆, ₇, ₈, ₉, ₁₀)
HM = time.strftime("%H:%M")

您需要创建一个dict,然后您可以用自己的选择替换数字。

import time
dictionary = {
'0' : '₀', '1' : '₁', '2' : '₂', '3' : '₃', '4': '₄',
'5' : '₅', '6' : '₆', '7' : '₇', '8' : '₈', '9' : '₉' 
}
HM = time.strftime("%H:%M")
for key, value in dictionary.items():
HM = HM.replace(key,value)

文本字符在Python中没有关联的字体,它们只是unicode代码点。然而,听起来您真正想要做的是将time.strftime()返回的字符串中的实际数字字符更改为另一个集合。

最有效的方法可能是创建一个转换表,将数字字符映射到使用str.maketrans()方法要使用的字符,然后将其作为参数传递给str.translate()实例进行转换。

以下是如何做到这一点。注意您只需要构建一次翻译表,它可以反复使用,多次使用。

import string
import time
me = '₀₁₂₃₄₅₆₇₈₉'
xlate_tbl = str.maketrans(string.digits, me)  # Create translation table.
HM = time.strftime("%H:%M")
print(HM)
print(HM.translate(xlate_tbl))  # Translate result.

样本输出:

17:42
₁₇:₄₂

最新更新