【问题标题】:Is it possible to make counter in datetime module?是否可以在日期时间模块中制作计数器?
【发布时间】:2020-12-05 22:01:51
【问题描述】:

我正在尝试制作一个程序,该程序将自动在 Excel 中填写与我合作的公司的工作时间信息。大部分只是 PyAutoGUI 和自动填写常数和保存文件。

问题是我必须在每周一到周五更改日期(所以没有周末)。有什么方法可以制作一个日期时间计数器,例如从 2020 年 3 月 30 日(星期一)到今天的日期?

【问题讨论】:

  • 你在倒数到下一个日期吗?
  • 是的,我正在计算下一个日期,它应该写为 2020 年 3 月 31 日、2020 年 4 月 1 日……等等……每个日期都是针对每个 excel 文件的……我必须做200 多个文件
  • Phooey,我对此不是很有经验,但这看起来是一个很好的例子:link

标签: python datetime


【解决方案1】:

您可以执行以下操作:

from datetime import datetime, date, timedelta

def day_counter(start_day):
    day = datetime.strptime(start_day, '%m/%d/%Y').date()
    tomorrow = date.today() + timedelta(days=1)
    while day != tomorrow:
        if day.weekday() not in {5, 6}:
            yield day.strftime('%m/%d/%Y')
        day += timedelta(days=1)

那么

for day in day_counter('03/30/2020'):
    print(day)

产生从 2020 年 3 月 30 日到今天没有周末的日子:

03/30/2020
03/31/2020
04/01/2020
04/02/2020
04/03/2020
04/06/2020
04/07/2020
... 
11/26/2020
11/27/2020
11/30/2020
12/01/2020
12/02/2020
12/03/2020
12/04/2020

【讨论】:

  • 感谢源代码为我节省了很多时间!!!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-26
  • 1970-01-01
相关资源
最近更新 更多