python - 使用python将日期转换为字母
问题描述
我正在使用正在打印的当前日期print(now.strftime("%d-%B-%Y"))
。
但是,21-November-2020
我希望它打印每天的后缀,21st-November-2020
而不是打印。同样,它应该每天自动执行此操作(第 2 天、第 5 天、第 30 天……)。这可能吗?
随意问任何问题。
解决方案
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
推荐阅读
- python - FacetGrid Seaborn 的每个方面中的特定于方面的图例
- ios - 在 iOS 13 上使用 NFCISO7816Tag 和 CoreNFC 时是否可以进行用户交互?
- custom-action - 如何使用 wix3 在 msi 上创建自定义进度条?
- php - 是否可以添加尚未在 php 中声明的变量?
- naming-conventions - 以“allocate”、“create”、“initialize”等开头的函数有什么区别
- excel - 在一个工作表中合并两个或多个私有子
- php - Codeigniter form_open_multipart 没有响应
- javascript - 如何将一段日期变成一个数组?
- unity3d - 如何限制拖放到父对象
- javascript - 无法让这个简单的去抖动功能工作 - 我在这里错过了什么?