Python el primer y último día del mes, etc.

manipulación de la fecha de Python

Importar el paquete:

import calendar
import datetime
from datetime import timedelta

Obtenga la fecha de hoy:

#返回datetime格式:eg:2019-12-07 20:38:35.82816
now = datetime.datetime.now()

#返回datetime格式:eg:2019-12-07
now = datetime.datetime.now().date()
now = datetime.date.today()

Obtener la fecha de ayer:

yesterday = now - timedelta(days=1)

Obtenga la fecha de mañana:

tomorrow = now + timedelta(days=1)

Obtenga el primer y último día de la semana:

this_week_start = now - timedelta(days=now.weekday())
this_week_end = now + timedelta(days=6-now.weekday())

Obtenga el primer y último día de la semana anterior:

last_week_start = now - timedelta(days=now.weekday()+7)
last_week_end = now - timedelta(days=now.weekday()+1)

Obtenga el primer y último día del mes:

this_month_start = datetime.datetime(now.year, now.month, 1)
this_month_end = datetime.datetime(now.year, now.month, calendar.monthrange(now.year, now.month)[1])

Nota:
calendar.monthrange (año, mes) se
pasa en dos valores: uno es el año actual, el otro es el mes actual. La
escritura puede ser: calendar.monthrange (ahora.year, ahora.month)

Se devuelven dos enteros.
El primer valor es el día de la semana del primer día del mes y el número correspondiente. 0-6 ==> 0 (lunes) a 6 (domingo) El
segundo valor es el número total de días del mes.

Obtenga el primer y último día del mes anterior:

last_month_end = this_month_start - timedelta(days=1) 
last_month_start = datetime.datetime(last_month_end.year, last_month_end.month, 1)

Obtenga el primer y último día de la temporada:

month = (now.month - 1) - (now.month - 1) % 3 + 1
this_quarter_start = datetime.datetime(now.year, month, 1)
this_quarter_end = datetime.datetime(now.year, month, calendar.monthrange(now.year, now.month)[1]) 

Obtén el primer y último día de la temporada anterior:

last_quarter_end = this_quarter_start - timedelta(days=1)
last_quarter_start = datetime.datetime(last_quarter_end.year, last_quarter_end.month - 2, 1)

Obtenga el primer y último día del año:

this_year_start = datetime.datetime(now.year, 1, 1)
this_year_end = datetime.datetime(now.year + 1, 1, 1) - timedelta(days=1)

Obtenga el primer y último día del año pasado:

last_year_end = this_year_start - timedelta(days=1)
last_year_start = datetime.datetime(last_year_end.year, 1, 1) 

Si desea obtener el formato de fecha, agregue ".date" al final.

Supongo que te gusta

Origin blog.csdn.net/weixin_42464956/article/details/108778388
Recomendado
Clasificación