5.1.4 Objetos de fecha y hora (2023)

Referencia de la biblioteca de Python

Anterior:5.1.3 Objetos de fechaArriba:5.1 fecha y horaPróximo:5.1.5 Objetos de tiempo

Afecha y horaobjeto es un solo objeto que contiene toda la información de unfechaobjeto y untiempoobjeto. Como unfechaobjeto,fecha y horaasume el actual calendario gregoriano extendido en ambas direcciones; como un objeto de tiempo,fecha y horaasume que hay exactamente 3600*24 segundos en todos los días.

Constructor:

clasefecha y hora( año mes dia[, hora[, minuto[, segundo[, microsegundo[, tzinfo]]]]])
Los argumentos de año, mes y día son obligatorios.tzinfotal vezNinguno, o una instancia de untzinfosubclase. Los argumentos restantes pueden ser enteros o largos, en los siguientes rangos:
  • MINAÑO <=año<= AÑO MÁXIMO
  • 1 <=mes<= 12
  • 1 <=día<= número de días en el mes y año dado
  • 0 <=hora< 24
  • 0 <=minuto< 60
  • 0 <=segundo< 60
  • 0 <=microsegundo< 1000000

Si se da un argumento fuera de esos rangos,ValorErrores elevado.

Otros constructores, todos los métodos de clase:

hoy( )
Devuelve la fecha y hora local actual, contzinfo Ninguno. Esto es equivalente afechahora.fromtimestamp(hora.hora()). Ver tambiénahora(),fromtimestamp().
ahora( [tz])
Devuelve la fecha y hora locales actuales. Si es un argumento opcionaltzesNingunoo no especificado, esto es comohoy(), pero, si es posible, proporciona más precisión que la que se puede obtener pasando por untiempo tiempo()marca de tiempo (por ejemplo, esto puede ser posible en plataformas que suministran el Cgettimeofday()función).

Demástzdebe ser una instancia de una clasetzinfosubclase, y la fecha y hora actuales se convierten atzla zona horaria de . En este caso el resultado es equivalente atz.fromutc(datetime.utcnow().replace(tzinfo=tz)). Ver tambiénhoy(),ahora().

ahora( )
Devuelve la fecha y hora UTC actual, contzinfo Ninguno. Esto es comoahora(), pero devuelve la fecha y hora UTC actual, como un ingenuofecha y horaobjeto. Ver tambiénahora().
desde la marca de tiempo( marca de tiempo[, tz])
Devuelve la fecha y la hora locales correspondientes a la marca de tiempo POSIX, como la que devuelvetiempo tiempo(). Si es un argumento opcionaltzesNingunoo no especificado, la marca de tiempo se convierte a la fecha y hora local de la plataforma, y ​​el devueltofecha y horael objeto es ingenuo.

Demástzdebe ser una instancia de una clasetzinfosubclase, y la marca de tiempo se convierte entzla zona horaria de . En este caso el resultado es equivalente atz.fromutc(datetime.utcfromtimestamp(marca de tiempo).replace(tzinfo=tz)).

fromtimestamp()puede elevarValorError, si la marca de tiempo está fuera del rango de valores soportados por la plataforma Chora local()ogmtime()funciones Es común que esto se restrinja a los años de 1970 a 2038. Tenga en cuenta que en los sistemas que no son POSIX que incluyen segundos bisiestos en su noción de marca de tiempo, los segundos bisiestos son ignorados porfromtimestamp(), y luego es posible tener dos marcas de tiempo que difieren por un segundo que producen idénticosfecha y horaobjetos. Ver tambiénutcfromtimestamp().

utcfromtimestamp( marca de tiempo)
Devolver el UTCfecha y horacorrespondiente a la marca de tiempo POSIX, contzinfo Ninguno. Esto puede aumentarValorError, si la marca de tiempo está fuera del rango de valores soportados por la plataforma Cgmtime()función. Es común que esto esté restringido a los años de 1970 a 2038. Ver tambiénfromtimestamp().
de ordinal( ordinal)
Devuelve elfecha y horacorrespondiente al ordinal gregoriano proléptico, donde el 1 de enero del año 1 tiene el ordinal 1.ValorErrorse eleva a menos1 <= ordinal <= fechahora.max.toordinal(). La hora, minuto, segundo y microsegundo del resultado son todos 0, ytzinfoesNinguno.
combinar( fecha y hora)
devolver un nuevofecha y horaobjeto cuyos miembros de fecha son iguales a los dadosfechadel objeto, y cuyo tiempo ytzinfolos miembros son iguales a los dadostiempoobjetos. Para cualquierfecha y horaobjetod,d== fechahora.combinar(d.fecha(),d.timetz()). Si la fecha es unafecha y horaobjeto, su tiempo ytzinfolos miembros son ignorados.
strptime( fecha_cadena, formato)
devolver unfecha y horacorrespondiente afecha_cadena, analizada segúnformato. Esto es equivalente afecha y hora(*(hora.strptime(cadena_de_fecha, formato)[0:6])).ValorErrorse genera si la cadena de fecha y el formato no pueden ser analizados portiempo.strptime()o si devuelve un valor que no es una tupla de tiempo.

Nuevo en la versión 2.5.

Atributos de clase:

min
El primer representablefecha y hora,datetime(MINYEAR, 1, 1, tzinfo=Ninguno).
máximo
El último representablefecha y hora,fechahora(MAXYEAR, 12, 31, 23, 59, 59, 999999, tzinfo=Ninguno).
resolución
La menor diferencia posible entre no igualesfecha y horaobjetos,timedelta(microsegundos=1).

Atributos de instancia (solo lectura):

año
EntreMINAÑOyMAX AÑOinclusivo.
mes
Entre 1 y 12 inclusive.
día
Entre 1 y el número de días del mes dado del año dado.
hora
Enrango(24).
minuto
Enrango(60).
segundo
Enrango(60).
microsegundo
Enrango (1000000).
tzinfo
El objeto pasó como eltzinfoargumento a lafecha y horaconstructor, oNingunosi no se aprobó ninguno.

Operaciones admitidas:

Operación Resultado
fechahora2=fechahora1+desde cronometrado (1)
fechahora2=fechahora1-desde cronometrado (2)
desde cronometrado=fechahora1-fechahora2 (3)
fechahora1<fechahora2 comparafecha y horaafecha y hora. (4)
(1)

datetime2 es una duración de timedelta eliminada de datetime1, avanzando en el tiempo sidesde cronometrado.días> 0, o hacia atrás sidesde cronometrado.días< 0. El resultado tiene el mismotzinfomiembro como fecha y hora de entrada, y datetime2 - datetime1 == timedelta after.OverflowErrorse eleva si datetime2.year fuera menor queMINAÑOo más grande queMAX AÑO. Tenga en cuenta que no se realizan ajustes de zona horaria incluso si la entrada es un objeto consciente.

(2)
Calcula el datetime2 tal que datetime2 + timedelta == datetime1. En cuanto a la suma, el resultado tiene el mismotzinfomiembro como la fecha y hora de entrada, y no se realizan ajustes de zona horaria incluso si la entrada es consciente. Esto no es del todo equivalente a datetime1 + (-timedelta), porque -timedelta de forma aislada puede desbordarse en los casos en que datetime1 - timedelta no lo hace.
(3)
Resta de unfecha y horaa partir de unafecha y horase define solo si ambos operandos son ingenuos, o si ambos son conscientes. Si uno es consciente y el otro es ingenuo,Error de tecleadoes elevado.

Si ambos son ingenuos, o ambos son conscientes y tienen la mismatzinfomiembro, eltzinfolos miembros son ignorados, y el resultado es undesde cronometradoobjetottal quefechahora2+t==fechahora1. En este caso, no se realizan ajustes de zona horaria.

Si ambos son conscientes y tienen diferentestzinfomiembros,a-bactúa como siaybse convirtieron primero a fechas y horas UTC ingenuas primero. El resultado es(a.replace(tzinfo=Ninguno) -a.utcoffset()) - (b.replace(tzinfo=Ninguno) -b.utcoffset())excepto que la implementación nunca se desborda.

(4)

fechahora1se considera inferior afechahora2cuandofechahora1precedefechahora2a tiempo.

Si un comparador es ingenuo y el otro es consciente,Error de tecleadoes elevado. Si ambos comparandos son conscientes y tienen el mismotzinfomiembro, el comúntzinfose ignora el miembro y se comparan las fechas y horas base. Si ambos comparandos son conscientes y tienen diferentestzinfomiembros, los comparandos se ajustan primero restando sus compensaciones UTC (obtenidas deself.utcoffset()).Nota:Para evitar que la comparación vuelva al esquema predeterminado de comparar direcciones de objetos, la comparación de fecha y hora normalmente planteaError de tecleadosi el otro comparador no es también unfecha y horaobjeto. Sin embargo,No se ha implementadose devuelve en su lugar si el otro comparando tiene untupla de tiempoatributo. Este gancho le da a otros tipos de objetos de fecha la oportunidad de implementar una comparación de tipo mixto. Si no, cuando unfecha y horael objeto se compara con un objeto de un tipo diferente,Error de tecleadose plantea a menos que la comparación sea==o!=. Estos últimos casos vuelvenFALSOoVerdadero, respectivamente.

fecha y horalos objetos se pueden utilizar como claves de diccionario. En contextos booleanos, todosfecha y horalos objetos se consideran verdaderos.

Métodos de instancia:

fecha( )
Devolverfechaobjeto con el mismo año, mes y día.
tiempo( )
Devolvertiempoobjeto con la misma hora, minuto, segundo y microsegundo.tzinfoesNinguno. Véase también métodotiempotz().
tiempotz( )
Devolvertiempoobjeto con los mismos miembros de hora, minuto, segundo, microsegundo y tzinfo. Véase también métodotiempo().
reemplazar( [año[, mes[, día[, hora[, minuto[, segundo[, microsegundo[, tzinfo]]]]]]]])
Devuelve una fecha y hora con los mismos miembros, excepto aquellos miembros a los que se les otorgan nuevos valores por cualquier argumento de palabra clave que se especifique. Tenga en cuenta quetzinfo=Ningunose puede especificar para crear una fecha y hora ingenua a partir de una fecha y hora consciente sin conversión de miembros de fecha y hora.
zonahoraria( tz)
devolver unfecha y horaobjeto con nuevotzinfomiembrotz, ajustando los miembros de fecha y hora para que el resultado sea la misma hora UTC queser, pero entzes la hora local.

tzdebe ser una instancia de untzinfosubclase y sudescontar()yhorario de verano ()los métodos no deben regresarNinguno.serdebe ser consciente (ser.tzinfono debe serNinguno, yser.utcoffset()no debe volverNinguno).

Siser.tzinfoestz,ser.astimezone(tz)es igual aser: no se realiza ningún ajuste de la fecha o la hora de los miembros. De lo contrario, el resultado es la hora local en la zona horariatz, que representa la misma hora UTC queser: despuésastz=dt.astimezone(tz),astz-astz.utcoffset()generalmente tendrá los mismos miembros de fecha y hora quedt-dt.utcoffset(). La discusión de clasetzinfoexplica los casos en los límites de transición del horario de verano donde esto no se puede lograr (un problema solo sitzmodelos tanto estándar como de horario diurno).

Si simplemente desea adjuntar un objeto de zona horariatza una fecha y horadtsin ajuste de miembros de fecha y hora, utilicedt.replace(tzinfo=tz). Si simplemente desea eliminar el objeto de zona horaria de una fecha y hora conscientedtsin conversión de miembros de fecha y hora, utilicedt.replace(tzinfo=Ninguno).

Tenga en cuenta que el valor predeterminadotzinfo.fromutc()El método puede anularse en untzinfosubclase para afectar el resultado devuelto porcomozonahoraria(). Ignorando los casos de error,comozonahoraria()actúa como:

def astimezone(self, tz): si self.tzinfo es tz: return self # Convertir self a UTC y adjuntar el nuevo objeto de zona horaria. utc = (self - self.utcoffset()).replace(tzinfo=tz) # Convertir de UTC a la hora local de tz. volver tz.fromutc(utc)
compensación( )
SitzinfoesNinguno, devolucionesNinguno, de lo contrario vuelveser.tzinfo.utcoffset(ser), y genera una excepción si este último no regresaNinguno, o undesde cronometradoobjeto que representa un número entero de minutos con magnitud menor que un día.
horario de verano( )
SitzinfoesNinguno, devolucionesNinguno, de lo contrario vuelveser.tzinfo.dst(ser), y genera una excepción si este último no regresaNinguno, o undesde cronometradoobjeto que representa un número entero de minutos con magnitud menor que un día.
tzname( )
SitzinfoesNinguno, devolucionesNinguno, de lo contrario vuelveser.tzinfo.tznombre(ser), genera una excepción si este último no regresaNingunoo un objeto de cadena,
tupla de tiempo( )
devolver untiempo.struct_timecomo devuelto porhora.horalocal().d.timetuple()es equivalente atiempo.struct_time((d.año,d.mes,d.día,d.hora,d.minuto,d.segundo,d.día laborable(),d.toordinal() - fecha(d.año, 1, 1).toordinal() + 1, dst))Eltm_isdstbandera del resultado se establece de acuerdo con elhorario de verano ()método:tzinfoesNingunoohorario de verano ()devolucionesNinguno,tm_isdstse establece en-1; más sihorario de verano ()devuelve un valor distinto de cero,tm_isdstse establece en1; demástm_isdstse establece en0.
utctimetuple( )
Sifecha y horainstanciades ingenuo, esto es lo mismo qued.timetuple()excepto esotm_isdstse fuerza a 0 independientemente de lo qued.dst()devoluciones. El horario de verano nunca está en vigor durante una hora UTC.

Sidestá consciente,dse normaliza a la hora UTC, restandod.utcoffset(), y untiempo.struct_timepara el tiempo normalizado se devuelve.tm_isdstse fuerza a 0. Tenga en cuenta que el resultadotm_añoel miembro puede serMINAÑO-1 oMAX AÑO+1, sid.año fueMINAÑOoMAX AÑOy el ajuste de UTC se derrama sobre un límite de año.

toordinal( )
Devuelve el ordinal gregoriano proléptico de la fecha. Lo mismo queself.fecha().toordinal().
día laborable( )
Devuelve el día de la semana como un número entero, donde el lunes es 0 y el domingo es 6. Lo mismo queself.fecha().día de la semana(). Ver tambiénisodía de la semana().
isodía de la semana( )
Devuelve el día de la semana como un número entero, donde el lunes es 1 y el domingo es 7. Lo mismo queself.date().isoweekday(). Ver tambiéndía laborable(),isocalendario().
isocalendario( )
Devuelve una tupla de 3, (año ISO, número de semana ISO, día de la semana ISO). Lo mismo queself.fecha().isocalendario().
isoformato( [sep])
Devuelve una cadena que representa la fecha y la hora en formato ISO 8601, AAAA-MM-DDTHH:MM:SS.mmmmmm o, simicrosegundoes 0, AAAA-MM-DDTHH:MM:SS

Sidescontar()no regresaNinguno, se agrega una cadena de 6 caracteres que proporciona el desplazamiento UTC en horas y minutos (con signo): AAAA-MM-DDTHH:MM:SS.mmmmmm+HH:MM o, simicrosegundoes 0 AAAA-MM-DDTHH:MM:SS+HH:MM

El argumento opcionalsep(por defecto'T') es un separador de un carácter, colocado entre las porciones de fecha y hora del resultado. Por ejemplo,

>>> from datetime import tzinfo, timedelta, datetime>>> class TZ(tzinfo):... def utcoffset(self, dt): return timedelta(minutos=-399)...>>> datetime(2002, 12 , 25, tzinfo=TZ()).isoformato(' ')'2002-12-25 00:00:00-06:39'
__str__( )
Parafecha y horainstanciad,cadena(d)es equivalente ad.isoformato(' ').
ctime( )
Devuelve una cadena que representa la fecha y la hora, por ejemplodatetime(2002, 12, 4, 20, 30, 40).ctime() == 'Mié 4 de diciembre 20:30:40 2002'.d.ctime()es equivalente atime.ctime(time.mktime(d.timetuple()))en plataformas donde el C nativoctime()función (quetiempo.ctiempo()invoca, pero quefechahora.chora()no invoca) cumple con el estándar C.
strftime( formato)
Devuelve una cadena que representa la fecha y la hora, controlada por una cadena de formato explícito. Mira la sección5.1.7-strftime()comportamiento.
Referencia de la biblioteca de Python

Anterior:5.1.3 Objetos de fechaArriba:5.1 fecha y horaPróximo:5.1.5 Objetos de tiempo

Versión 2.5.1, documentación actualizada el 18 de abril de 2007.

VerAcerca de este documento...para obtener información sobre cómo sugerir cambios.
Top Articles
Latest Posts
Article information

Author: Catherine Tremblay

Last Updated: 20/11/2023

Views: 5239

Rating: 4.7 / 5 (47 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Catherine Tremblay

Birthday: 1999-09-23

Address: Suite 461 73643 Sherril Loaf, Dickinsonland, AZ 47941-2379

Phone: +2678139151039

Job: International Administration Supervisor

Hobby: Dowsing, Snowboarding, Rowing, Beekeeping, Calligraphy, Shooting, Air sports

Introduction: My name is Catherine Tremblay, I am a precious, perfect, tasty, enthusiastic, inexpensive, vast, kind person who loves writing and wants to share my knowledge and understanding with you.