python - 是否有与 Java 的 Calendar.DAY_OF_WEEK_IN_MONTH 等效的 Python 版本?
问题描述
我的目标是找出一个月中的第 n 天是给定日期?例如,我希望能够拥有以下内容:
Input
:
2020 年 12 月 21 日
Output
:
本月第三个星期一
Java 的日历库正是我所需要的,如此处所示。寻找一个 Python 等价物或一个已经存在的指向相同的答案(我尝试了很多寻找但徒劳无功。所以我放弃了,作为最后的手段在这里问)。
解决方案
AFAIK 没有内置函数,但它很容易实现:
from datetime import date
from math import ceil
d = date.fromisoformat('2020-12-21')
d.strftime(f"{(dom := (ceil(d.day / 7)))}{'rd' if dom > 1 else 'st'} %A of this Month")
当然,对于字符串表示,您需要考虑几个序数指示符(st、nd、rd、th)。另一方面,如果您只想获取月份的数字,您可以使用:
ceil(d.day / 7)
推荐阅读
- node.js - 在数字海洋液滴上找不到 nodemon 实例
- python - 错误:命令错误退出状态
- python - 为什么 Python 在使用线程时会启动许多进程
- android - Android kotlin 在某些片段中显示导航抽屉图标而不是后退按钮
- pine-script - 如何编写一个简单的 pine 脚本来绘制投资组合余额
- algorithm - 找到大小为 k 的子序列,使得值之间的最小距离最大
- apache-kafka - ClickHouse:在分布式和复制表中使用 hash 和 internal_replication
- r - 闪亮模块中的观察事件问题
- python - 如何编写一个方法来检查代理是否完成了 Osbrain 中的任务?
- python - 有没有办法在没有 Python2 的情况下在 Ubuntu 焦点上安装 Mercurial?