首页 > 解决方案 > 使用python将日期转换为字母

问题描述

我正在使用正在打印的当前日期print(now.strftime("%d-%B-%Y"))

但是,21-November-2020我希望它打印每天的后缀,21st-November-2020而不是打印。同样,它应该每天自动执行此操作(第 2 天、第 5 天、第 30 天……)。这可能吗?

随意问任何问题。

标签: pythonpython-3.x

解决方案


from datetime import datetime as dt

def suffix(d):
    return 'th' if 11<=d<=13 else {1:'st',2:'nd',3:'rd'}.get(d%10, 'th')

def custom_strftime(format, t):
    return t.strftime(format).replace('{S}', str(t.day) + suffix(t.day))

print(custom_strftime({S}-,'%B-, %Y', dt.now()))

出去:

5th-May-2011

推荐阅读