Debo tener el año y el mes actuales en datetime.
Yo uso esto:
datem = datetime.today().strftime("%Y-%m")
datem = datetime.strptime(datem, "%Y-%m")
¿Hay tal vez otra forma?
Debo tener el año y el mes actuales en datetime.
Yo uso esto:
datem = datetime.today().strftime("%Y-%m")
datem = datetime.strptime(datem, "%Y-%m")
¿Hay tal vez otra forma?
Respuestas:
Utilizar:
from datetime import datetime
today = datetime.today()
datem = datetime(today.year, today.month, 1)
Supongo que quieres el primero del mes.
todayvariable ya tiene el año y el mes actuales.
from datetime import datetimelugar de simplementeimport datetime
Prueba esta solución:
from datetime import datetime
currentSecond= datetime.now().second
currentMinute = datetime.now().minute
currentHour = datetime.now().hour
currentDay = datetime.now().day
currentMonth = datetime.now().month
currentYear = datetime.now().year
.now()en lugar de .today()como se utiliza en otras respuestas? La now()función es más corta, se usa más comúnmente ... pero ¿hay alguna razón para usar una sobre la otra cuando todo lo que uno quiere saber es en qué año es?
from datetimeQué hace y por qué lo necesita?
datesubmódulo ( from datetime import date) que solo se ocupa de las fechas, el timesubmódulo que se ocupa de los tiempos y el datetimesubmódulo con nombre lamentable que hace ambas cosas. También hay timedeltay tzinfoallí. Uno podría simplemente import datetimeobtener el paquete completo con todos los submódulos, pero luego las llamadas a métodos se verían como datetime.datetime.now()o datetime.date.today(). Por lo general, es mejor importar solo los componentes que necesita por varias razones.
Utilizar:
from datetime import datetime
current_month = datetime.now().strftime('%m') // 02 //This is 0 padded
current_month_text = datetime.now().strftime('%h') // Feb
current_month_text = datetime.now().strftime('%B') // February
current_day = datetime.now().strftime('%d') // 23 //This is also padded
current_day_text = datetime.now().strftime('%a') // Fri
current_day_full_text = datetime.now().strftime('%A') // Friday
current_weekday_day_of_today = datetime.now().strftime('%w') //5 Where 0 is Sunday and 6 is Saturday.
current_year_full = datetime.now().strftime('%Y') // 2018
current_year_short = datetime.now().strftime('%y') // 18 without century
current_second= datetime.now().strftime('%S') //53
current_minute = datetime.now().strftime('%M') //38
current_hour = datetime.now().strftime('%H') //16 like 4pm
current_hour = datetime.now().strftime('%I') // 04 pm
current_hour_am_pm = datetime.now().strftime('%p') // 4 pm
current_microseconds = datetime.now().strftime('%f') // 623596 Rarely we need.
current_timzone = datetime.now().strftime('%Z') // UTC, EST, CST etc. (empty string if the object is naive).
Referencia: 8.1.7. Comportamiento strftime () y strptime ()
Referencia: comportamiento de strftime () y strptime ()
Las cosas anteriores son útiles para cualquier análisis de fecha, no solo ahora o hoy. Puede ser útil para cualquier análisis de fecha.
e.g.
my_date = "23-02-2018 00:00:00"
datetime.strptime(str(my_date),'%d-%m-%Y %H:%M:%S').strftime('%Y-%m-%d %H:%M:%S+00:00')
datetime.strptime(str(my_date),'%d-%m-%Y %H:%M:%S').strftime('%m')
Y así...
Puede escribir la respuesta aceptada como una sola línea usando date.replace:
datem = datetime.today().replace(day=1)
Siempre puede utilizar un método de subcadena:
import datetime;
today = str(datetime.date.today());
curr_year = int(today[:4]);
curr_month = int(today[5:7]);
Esto le dará el mes y año actual en formato de número entero. Si desea que sean cadenas, simplemente debe eliminar la precedencia "int" al asignar valores a las variables curr_yeary curr_month.
datetime.datetime.now().monthes mejor.
Respuesta tardía, pero también puedes usar:
import time
ym = time.strftime("%Y-%m")
date.today().strftime("%Y-%m")?