每年的每月第一个星期二

时间:2020-02-25 17:59:42

标签: sql python-3.x

我想使用sql或python获取当年六月的第一个星期二。

例如:

  • 年份是2020,所以我需要返回06/02/2020
  • 年份是2021,所以我需要返回06/01/2021

2 个答案:

答案 0 :(得分:2)

这是python方式。

import datetime
def get_day(year):
    d = datetime.datetime(year, 6, 1)
    offset = 1-d.weekday() #weekday = 1 means tuesday
    if offset < 0:
        offset+=7
    return d+datetime.timedelta(offset)

将年份传递给该函数,它将返回第一个星期二作为datetime对象。

答案 1 :(得分:1)

在这里,您有一个非常简单的python函数,可以将每个月的第一年的星期二定为一年。

import datetime as dt

def first_tuesday_of_month(year, month):
  d = dt.datetime(year, month, 1)
  wd = d.weekday()
  # monday
  if wd == 0:
    return 2
  # tuesday
  if wd == 1:
    return 1
  # wensday
  if wd == 2:
    return 7
  # thursday
  if wd == 3:
    return 6
  # friday
  if wd == 4:
    return 5
  # saturday
  if wd == 5:
    return 4
  # sunday 6
  if wd == 6:
    return 3

if __name__ == "__main__":
    print(first_tuesday_of_month(2020, 6))
    print(first_tuesday_of_month(2020, 1))
    print(first_tuesday_of_month(2020, 2))
    print(first_tuesday_of_month(2021, 6))

输出

D:\workspace\stackoverflow\python>python first_tuesday_of_month.py
2
7
4
1