问题描述
ex1)
date1 = datetime.date(2021,1,26)
date2 ='Tuesday,January 26th,2021'
ex2)
date1 = datetime.date(2021,2,21)
date2 = 'Sunday,February 21st,2021'
我想将 date1
更改为 date2
。我该怎么办?
我试过了,但它没有像 datetime.date(2021,21),datetime.date(2021,2),datetime.date( 2021,23)
date1 = strftime('%A,%B %dth,%Y')
解决方法
您正在寻找 ordinal numeral。借用Ordinal numbers replacement,你可以使用
import datetime
ordinal = lambda n: f"{n:d}{'tsnrhtdd'[(n//10%10!=1)*(n%10<4)*n%10::4]}"
date1 = datetime.date(2021,1,26)
dayOrdinal = ordinal(date1.day)
date1_string = date1.strftime(f'%A,%B {dayOrdinal},%Y')
# 'Tuesday,January 26th,2021'