Dado un año y un día de la semana, la tarea es escribir un programa en Python para obtener un mes y una semana.
Ejemplo:
Input : test_year = 1997, test_week = 27 Output : 1997-07-07 00:00:00 Explanation : 27th Week starts from 7 july in 1997. Input : test_year = 2021, test_week = 27 Output : 2021-07-05 00:00:00 Explanation : 27th Week starts from 5 july in 2021.
Método #1: Usar %W, %w
Analizar la fecha con %W nos establece para comenzar la semana, además, %w obtiene el día de la semana requerido, usaremos el valor predeterminado 1. Se puede modificar según los requisitos.
Python3
# Python3 code to demonstrate working of # Start week from year and weekday # Using %W, %w from datetime import datetime, timedelta # initializing year test_year = 1997 # initializing week test_week = 27 # printing original date print("The original year, week is : " + str(test_year) + " " + str(test_week)) date = str(test_year) + '-W' + str(test_week) # getting date res = datetime.strptime(date + '-1', "%Y-W%W-%w") # printing result print("The starting date of week : " + str(res))
Producción:
The original year, week is : 1997 27 The starting date of week : 1997-07-07 00:00:00
Método n.° 2: Usar la relación delta()
Esto solo agrega semanas requeridas al año requerido y obtiene la fecha inicial requerida. Esto agrega semanas, por lo tanto, podría dar cualquier día de la semana dependiendo de la fecha de inicio del año.
Python3
# Python3 code to demonstrate working of # Start week from year and weekday # Using relativedelta() import datetime from dateutil.relativedelta import relativedelta # initializing year test_year = 1997 # initializing week test_week = 27 # printing original date print("The original year, week is : " + str(test_year) + " " + str(test_week)) # constructing date date = datetime.date(test_year, 1, 1) # getting date by adding weeks to year beg. # prints 9 July. as 1 jan was wednesday, 27th # weeks beginning is from wed. res = date + relativedelta(weeks = +test_week) # printing result print("The starting date of week : " + str(res))
Producción:
The original year, week is : 1997 27 The starting date of week : 1997-07-09
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA