Veo mucho al convertir una cadena datetime
a un objeto datetime
en Python, pero quiero ir por el otro camino.
Tengo datetime.datetime(2012, 2, 23, 0, 0)
y me gustaría convertirlo a una cadena como '2/23/2012'
.Convertir el objeto datetime a una Cadena de fecha solo en Python
Respuesta
usted podría utilizar el formato de cadenas métodos simples:
>>> dt = datetime.datetime(2012, 2, 23, 0, 0)
>>> '{0.month}/{0.day}/{0.year}'.format(dt)
'2/23/2012'
>>> '%s/%s/%s' % (dt.month, dt.day, dt.year)
'2/23/2012'
similarmente, puede hacer algo como ''{:% Y-% m-% d% H:% M}'. Format (datetime (2001, 2, 3, 4, 5))'.Ver más en pyformat.info – mway
type-specific formatting
se puede utilizar así:
t = datetime.datetime(2012, 2, 23, 0, 0)
"{:%m/%d/%Y}".format(t)
de salida:
'02/23/2012'
date
y datetime
objetos (y time
también) apoyan una mini-language to specify output, y hay dos maneras de acceder a ella:
- llamada a método directo:
dt.strftime('format here')
; y - nuevo método formato:
'{:format here}'.format(dt)
Así que su ejemplo podría ser:
dt.strftime('%m/%d/%Y')
o
'{:%m/%d/%Y}'.format(dt)
Para completarlo: También puede acceder directamente los atributos de el objeto, pero solo obtiene los números:
'%s/%s/%s' % (dt.month, dt.day, dt.year)
El tiempo necesario para aprender el mini-lenguaje lo vale.
Como referencia, aquí están los códigos utilizados en el mini-lenguaje:
%a
día de la semana como el nombre abreviado de la configuración regional.%A
Weekday as locale's full name.%w
Día de la semana como número decimal, donde 0 es domingo y 6 es sábado.%d
El día del mes como número decimal sin relleno.%b
Mes como nombre abreviado de la configuración regional.%B
Month as locale's name.%m
Mes como número decimal sin acolchado. 01, ..., 12%y
Año sin siglo como número decimal sin acolchado. 00, ..., 99%Y
Año con el siglo como número decimal. 1970, 1988, 2001, 2013%H
Hora (reloj de 24 horas) como número decimal sin relleno. 00, ..., 23%I
Hora (reloj de 12 horas) como número decimal sin acolchado. 01, ..., 12%p
El equivalente de la configuración regional de AM o PM.%M
Minuto como número decimal sin acolchado. 00, ..., 59%S
Segundo como número decimal sin acolchado. 00, ..., 59%f
Microsegundos como número decimal, cero acolchado a la izquierda. 000000, ..., 999999%z
UTC desplazamiento en forma HHMM + o -HHMM (vacío si ingenua), 0000, -0400, 1030%Z
Tiempo nombre de zona (vacío si ingenua), UTC, EST, CST%j
Día del año como número decimal sin acolchado. 001, ..., 366%U
Número de la semana del año (el domingo es el primero) como número decimal acolchado cero.%W
Número de la semana del año (el lunes es el primero) como número decimal.%c
Representación de fecha y hora apropiada de Locale.%x
Representación de la fecha adecuada de la configuración regional.%X
Representación de tiempo apropiada de la configuración regional.%%
Un carácter literal '%'.
bounty va aquí por un buen resumen – tinySandy
La concatenación de cadenas, str.join
, se puede utilizar para construir la cadena.
d = datetime.now()
'/'.join(str(x) for x in (d.month, d.day, d.year))
'3/7/2016'
Otra opción:
import datetime
now=datetime.datetime.now()
now.isoformat()
# ouptut --> '2016-03-09T08:18:20.860968'
Puede convertir fecha y hora a la cadena. published_at="{}".format(self.published_at)
Es posible convertir un objeto datetime en una cadena trabajando directamente con los componentes del objeto datetime.
from datetime import date
myDate = date.today()
#print(myDate) would output 2017-05-23 because that is today
#reassign the myDate variable to myDate = myDate.month
#then you could print(myDate.month) and you would get 5 as an integer
dateStr = str(myDate.month)+ "/" + str(myDate.day) + "/" + str(myDate.year)
# myDate.month is equal to 5 as an integer, i use str() to change it to a
# string I add(+)the "/" so now I have "5/" then myDate.day is 23 as
# an integer i change it to a string with str() and it is added to the "5/"
# to get "5/23" and then I add another "/" now we have "5/23/" next is the
# year which is 2017 as an integer, I use the function str() to change it to
# a string and add it to the rest of the string. Now we have "5/23/2017" as
# a string. The final line prints the string.
print(dateStr)
de salida -> 5/23/2017
Utilice el enlace [editar] para explicar cómo funciona este código y no solo proporcione el código, ya que una explicación es más probable que ayude a los lectores futuros. Ver también [respuesta]. [fuente] (http://stackoverflow.com/users/5244995) –
- 1. ¿Cómo convertir una cadena de fecha a un objeto DateTime?
- 2. convertir .NET DateTime objeto a objeto Javascript Fecha
- 3. Analizar una cadena con una fecha para un objeto datetime
- 4. perl cómo convertir una cadena a Datetime?
- 5. ¿Convertir cadena a objeto de clase Python?
- 6. cómo convertir una cadena de fecha y hora al objeto datetime?
- 7. convertir el objeto Fecha a TimeWithZone
- 8. LINQ convertir DateTime a la cadena
- 9. jquery/javascript convertir fecha cadena a fecha
- 10. convertir una cadena json al objeto python
- 11. Convertir un objeto de Python 'tipo' a una cadena
- 12. Convertir DateTime Valor en cadena en MySQL
- 13. cadena de convertir en el tipo Fecha en Python
- 14. cadena de DateTime objeto
- 15. cadena Convertir a DateTime variable de anulable en una línea
- 16. Cómo convertir `ctime` a` datetime` en Python?
- 17. Objeto fecha frente al objeto DateTime
- 18. la conversión de una cadena a una cadena con formato de fecha y hora usando Python
- 19. Convertir DateTime a Julian Fecha en C# (ToOADate seguro?)
- 20. Convertir JavaScript Fecha de .NET DateTime
- 21. Cómo analizar una cadena en un objeto DateTime en Perl?
- 22. Convertir cadena a fecha en java
- 23. Convertir una cadena en una fecha en DB2
- 24. Cómo convertir una cadena a una fecha en sybase
- 25. Convertir Fecha de época a una fecha de Javascript significativa
- 26. Fecha frente a DateTime
- 27. cómo convertir el hexadecimal a varchar (datetime)?
- 28. Convertir Python datetime a rfc 2822
- 29. ¿Cómo puedo convertir un objeto de fecha y hora de Python a UTC?
- 30. Convertir DateTime a String PHP
muy útil para '' DateTimeField' o DateField' en Django. Gracias – erajuan
use 't = datetime.datetime.now()' para usar la fecha actual – gizzmole
Por lo que puedo decir de los documentos, no hay manera de devolver una fecha acolchada que no sea cero, es decir, '2/23/2012'. –