python - 在python中打印特定日期

标签 python

我想创建一个函数,该函数将根据每个月返回一个日期。更具体地说,我希望它以示例格式(YYYY、MM、DD)返回每个月的 23 天:
2018 年 1 月 23 日 .

除了该日期恰逢周末的情况外,在这种情况下我希望它返回确切的前一个工作日。例如,2017 年 12 月 23 日是星期六,所以在这种情况下我希望我的函数返回给我 2017 年 12 月 22 日

现在我使用:

import datetime
someday = datetime.date(2018, 1, 23)
    print(someday)

someday 变量中,我手动定义每个月所需的日期。

简而言之,2018 年接下来的七个月(一月、二月、三月、四月、五月、六月、七月),我希望我的职能能够回到我身边:

2018, 1, 23
2018, 2, 23
2018, 3, 23
2018, 4, 23
2018, 5, 23
2018, 6, 22
2018, 7, 23

接下来的几个月依此类推。

最佳答案

您可以使用 weekday()timedelta()while 循环来实现此目的:

from datetime import date, timedelta

def last_workday(somedate):
    while somedate.weekday() > 4: #weekday returns values 0-6 (Mon-Sun)
        somedate -= timedelta(days=1) #timedelta returns 1 day which you subtract from your date 
    return somedate

y = 2018
d = 23

for m in range(1,13):
    print(last_workday(date(y, m, d)))

关于python - 在python中打印特定日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48260327/

相关文章:

python - 如何在 python 中为多种语言编写文档字符串

python - Tornado websocket + Redis

python - 在python中使用来自pandas的read_excel为参数赋值

python - 使用 Python 插入 MySQL 数据库时出现错误 ProgrammingError

python - 使用 matplotlib 从地形数据创建光滑表面图

python - 是否可以生成随机对象变量名称并从 python 方法返回它们?如何?

python - 没有名为 django-admin C :\Program Files\Python39\python3. exe 的模块

python - 在多个文件中搜索多个正则表达式,然后输出每个匹配项及其各自的文件

python - 是否可以在自制的网络应用程序中单击?

python - Tweepy + App Engine 示例 OAuth 帮助