Quiero averiguar lo siguiente: dada una fecha ( datetime
objeto), ¿cuál es el día de la semana correspondiente?
Por ejemplo, el domingo es el primer día, lunes: segundo día ... y así sucesivamente
Y luego, si la entrada es algo así como la fecha de hoy.
Ejemplo
>>> today = datetime.datetime(2017, 10, 20)
>>> today.get_weekday() # what I look for
La salida es quizás 6
(ya que es viernes)
int(datetime.datetime.today().strftime('%w'))
Si desea tener la fecha en inglés:
fuente
my_date.strftime('%A')
Si desea tener la fecha en inglés:
Leer más: https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior
fuente
Use
date.weekday()
odate.isoweekday()
.fuente
datetime
objeto (no undate
objeto), me gustaría mencionar que ladatetime
clase tiene los mismos métodosweekday()
yisoweekday()
métodos.Resolví esto para una pregunta de CodeChef .
fuente
Una solución sin importaciones para fechas posteriores a 1700/1/1
fuente
Esta es una solución si la fecha es un objeto datetime.
fuente
Si tiene fechas como una cadena, podría ser más fácil hacerlo usando la marca de tiempo de pandas
Salida:
fuente
La biblioteca de fecha y hora a veces da errores con strptime (), así que cambié a la biblioteca dateutil. Aquí hay un ejemplo de cómo puedes usarlo:
El resultado que obtienes de esto es
'Mon'
. Si desea la salida como 'Lunes', use lo siguiente:Esto funcionó para mí bastante rápido. Estaba teniendo problemas al usar la biblioteca de fecha y hora porque quería almacenar el nombre del día de la semana en lugar del número de día de la semana y el formato de usar la biblioteca de fecha y hora estaba causando problemas. Si no tienes problemas con esto, ¡genial! Si es así, puede hacerlo definitivamente, ya que también tiene una sintaxis más simple. Espero que esto ayude.
fuente
Suponiendo que le den el día, mes y año, podría hacer:
fuente
strftime("%A")
lugar deweekday()
Digamos que tiene timeStamp: variable de cadena, AAAA-MM-DD HH: MM: SS
Paso 1 : conviértalo a la función dateTime con código de soplo ...
Paso 2 : ahora puede extraer todas las características requeridas como se muestra a continuación, lo que creará una nueva columna para cada hora, mes, día de la semana, año, fecha
fuente
Si tiene motivos para evitar el uso del módulo datetime, esta función funcionará.
Nota: Se supone que el cambio del calendario juliano al gregoriano ocurrió en 1582. Si esto no es cierto para su calendario de interés, cambie la línea si año> 1582: en consecuencia.
fuente
fg
yfj
dentro del condicional para evitar cálculos innecesarios.Si no solo depende de
datetime
módulo,calendar
podría ser una mejor alternativa. Esto, por ejemplo, le proporcionará los códigos de día:Y esto te dará el día en sí:
O en el estilo de python, como un trazador de líneas:
fuente
Podemos tomar la ayuda de los pandas:
Como se mencionó anteriormente en el problema, tenemos:
Si ejecuta esta línea en el cuaderno jupyter, tenemos una salida como esta:
Usando día de la semana () y día de la semana:
Si desea entre semana en formato de número entero, use:
El resultado será:
Y si lo desea como nombre del día como domingo, lunes, viernes, etc., puede usar:
El resultado será:
'Friday'
Si tiene una columna de fechas en el marco de datos de Pandas, entonces:
Ahora suponga que si tiene un marco de datos de pandas que tiene una columna de fecha como esta: pdExampleDataFrame ['Fechas']. Head (5)
Ahora, si queremos saber el nombre del día de la semana como lunes, martes, etc., podemos usar
.weekday_name
lo siguiente:la salida será:
Y si queremos el número entero de día de la semana de esta columna Fechas, entonces podemos usar:
La salida se verá así:
fuente
Muestra de salida
fuente
esto debería darte tu número de día real: 1 = domingo, 2 = lunes, etc.
fuente
+1
? Es habitual que la numeración semanal en Python comience en sundat como 0 y lunes como 1.Para obtener el domingo del 1 al sábado como el 7, esta es la solución más simple a su pregunta:
Todos ellos:
Salida:
fuente
aquí es cómo convertir una lista de fechas a la fecha
fuente
Usando el Módulo Canlendar
fuente
Aquí está mi implementación de python3.
fuente
A continuación se muestra el código para ingresar la fecha en el formato DD-MM-AAAA. Puede cambiar el formato de entrada cambiando el orden de '% d-% m-% Y' y también cambiando el delimitador.
fuente
usa este código:
fuente
importar numpy como np
fecha def (df):
fuente