para ser justos, esta respuesta (usando .today()) es la más pitónica para la pregunta de ejemplo indicada.
Dannid
2
Si usa hoy, tenga cuidado al comparar una fecha. today()tiene un componente de hora también. así que si lo hace: losdat = datetime.datetime.strptime(losdatstr, '%d%m%Y')y entonces if losdat < datetime.datetime.today():siempre será cierto porque losdattendrá un componente de tiempo de medianoche que caerá antes de la marca de tiempo detoday()
Dennis Decoene
3
@DennisDecoene: ¿por qué usar en datetime.datetime.today()lugar de datetime.date.today(), cuando uno quiere un datetime.dateobjeto?
tzot
@tzot Sí, eso también era lo que quería señalar, pero no estaba claro.
Dennis Decoene
45
Puede convertir un objeto datetime en una fecha con el método date () del objeto date time, de la siguiente manera:
import timeimport datetime# use mktime to step by one day# end - the last day, numdays - count of days to step backdef gen_dates_list(end, numdays):
start = end - datetime.timedelta(days=numdays+1)
end = int(time.mktime(end.timetuple()))
start = int(time.mktime(start.timetuple()))# 86400 s = 1 dayreturn xrange(start, end,86400)# if you need reverse the list of datesfor dt in reversed(gen_dates_list(datetime.datetime.today(),100)):print datetime.datetime.fromtimestamp(dt).date()
¿Querías publicar esta respuesta aquí? Me parece que su respuesta está dirigida a una pregunta diferente.
Todos los trabajadores son esenciales
2
puede ingresar este formulario de código para (fecha de hoy y nombres del día y hora) :
datetime.datetime.now().strftime('%y-%m-%d %a %H:%M:%S')
'19 -09-09 Lun 17:37:56 '
e ingrese este código para ( fecha de hoy simplemente) :
datetime.date.today().strftime('%y-%m-%d')
'19 -09-10 '
por objeto:datetime.datetime.now().date()datetime.datetime.today().date()datetime.datetime.utcnow().date()datetime.datetime.today().time()datetime.datetime.utcnow().date()datetime.datetime.utcnow().time()
datetime.datetime.now()
, tenga en cuenta que hay un métododatetime.date.today()
.from datetime import datetime
, simplemente puede agregar la fechafrom datetime import datetime, date
Respuestas:
Usa el
date()
método:fuente
datetime.datetime.utcnow()
y en consecuenciadatetime.datetime.utcnow().date()
datetime.datetime.now(pytz.timezone('US/Pacific')).date()
De la documentación:
fuente
Usas el
datetime.datetime.date()
método:Obviamente, la expresión anterior puede (y en mi humilde opinión :) debe escribirse como:
fuente
.today()
) es la más pitónica para la pregunta de ejemplo indicada.today()
tiene un componente de hora también. así que si lo hace:losdat = datetime.datetime.strptime(losdatstr, '%d%m%Y')
y entoncesif losdat < datetime.datetime.today():
siempre será cierto porquelosdat
tendrá un componente de tiempo de medianoche que caerá antes de la marca de tiempo detoday()
datetime.datetime.today()
lugar dedatetime.date.today()
, cuando uno quiere undatetime.date
objeto?Puede convertir un objeto datetime en una fecha con el método date () del objeto date time, de la siguiente manera:
fuente
fuente
puede ingresar este formulario de código para (fecha de hoy y nombres del día y hora) :
datetime.datetime.now().strftime('%y-%m-%d %a %H:%M:%S')
'19 -09-09 Lun 17:37:56 '
e ingrese este código para ( fecha de hoy simplemente) :
datetime.date.today().strftime('%y-%m-%d')
'19 -09-10 'por objeto:
datetime.datetime.now().date()
datetime.datetime.today().date()
datetime.datetime.utcnow().date()
datetime.datetime.today().time()
datetime.datetime.utcnow().date()
datetime.datetime.utcnow().time()
fuente
datetime.date
objeto, y no una cadena, questrftime
devolvería (ref: docs.python.org/3/library/datetime.html#datetime.date.strftime ).