tiempo sistema obtener ingresar importar hora fecha capturar calendario actual python datetime iso

sistema - Extraer meses y días de dos dígitos de una fecha de Python



obtener hora sistema python (2)

Mira los tipos de esas propiedades:

In [1]: import datetime In [2]: d = datetime.date.today() In [3]: type(d.month) Out[3]: <type ''int''> In [4]: type(d.day) Out[4]: <type ''int''>

Ambos son enteros. Entonces no hay una forma automática de hacer lo que quieras. Entonces, en el sentido estricto, la respuesta a su pregunta es no .

Si quieres ceros a la izquierda, tendrás que formatearlos de una forma u otra. Para eso tienes varias opciones:

In [5]: ''{:02d}''.format(d.month) Out[5]: ''03'' In [6]: ''%02d'' % d.month Out[6]: ''03'' In [7]: d.strftime(''%m'') Out[7]: ''03''

Esta pregunta ya tiene una respuesta aquí:

¿Hay alguna manera de extraer mes y día usando isoformatos? Supongamos que la fecha de hoy es el 8 de marzo de 2013.

>>> d = datetime.date.today() >>> d.month 3 >>> d.day 8

Yo quiero:

>>> d = datetime.date.today() >>> d.month 03 >>> d.day 08

Puedo hacer esto escribiendo if statements y concatenando un 0 principal en caso de que el día o el mes sea de un solo dígito, pero me preguntaba si había una forma automática de generar lo que quería.


puede usar un formateador de cadenas para rellenar cualquier número entero con ceros. Actúa como el printf de C.

>>> d = datetime.date.today() >>> ''%02d'' % d.month ''03''

Actualizado para py36: ¡ use f-strings! Para las int generales, puede usar el formateador d e indicar explícitamente que rellene con ceros:

>>> d = datetime.date.today() >>> f"{d.month:02d}" ''07''

Pero datetime s son especiales y vienen con formateadores especiales que ya tienen cero relleno:

>>> f"{d:%d}" # the day ''01'' >>> f"{d:%m}" # the month ''07''