Cómo obtener la hora actual en Python
Frecuentes
Visto 3,540 equipos
30 Respuestas
3314
Uso:
>>> import datetime
>>> datetime.datetime.now()
datetime.datetime(2009, 1, 6, 15, 8, 24, 78915)
>>> print(datetime.datetime.now())
2009-01-06 15:08:24.789150
Y justo el tiempo:
>>> datetime.datetime.now().time()
datetime.time(15, 8, 24, 78915)
>>> print(datetime.datetime.now().time())
15:08:24.789150
Ver la documentación para obtener más información.
Para evitar escribir, puede importar el datetime
objeto del datetime
módulo:
>>> from datetime import datetime
Luego quite el líder datetime.
de todo lo anterior.
Respondido 29 Oct 19, 17:10
Sería bueno si esta respuesta cubriera zonas horarias (tal vez UTC como ejemplo) y tal vez comience con time.time (). - greg lindahl
@Toskan, el formato no era parte de la pregunta, por lo que no debería ser parte de la respuesta. Ya se proporciona un enlace a más documentación del módulo que contiene cosas como formatear. - jiyuu-sensei
¿En qué versión de Python se dio la respuesta original? Solo escribiendo datetime.datetime.now()
en mi consola interactiva Python 2.7 (IronPython aún no se ha actualizado) me da el mismo comportamiento que el ejemplo más reciente usando print()
en la respuesta. No he replicado con éxito lo que muestra la respuesta original (datetime.datetime (2009, 1, 6, 15, 8, 24, 78915)). (No es que realmente quiera, se prefiere el comportamiento print (), pero tengo curiosidad). RTharston
@BobVicktor: Python 2.7, 3.7 y 3.8 dan el mismo comportamiento para mí, no estoy seguro de lo que estás viendo. - harley holcombe
@HarleyHolcombe Hmm ... ¿tal vez es una cosa de IronPython? Cuando escribo datetime.now()
solo lo imprime de la misma manera que lo muestra su respuesta print(datetime.now())
... - RTharston
1013
Puedes usar time.strftime()
:
>>> from time import gmtime, strftime
>>> strftime("%Y-%m-%d %H:%M:%S", gmtime())
'2009-01-05 22:14:39'
Respondido 20 Feb 13, 21:02
¿Es esto mejor / peor que la respuesta de @ ParaMeterz a continuación? ¿Por qué deberíamos usar el time
módulo vs. datetime
¿módulo? - Nathan
No devuelve la hora actual de mi computadora. - Saeed
Esta es la hora UTC, diferente del módulo de fecha y hora: Voyager
@Saeed: usa la función localtime()
en vez de gmtime()
para obtener su hora local. - Jeyekomon
@frank Ver pregunta relacionada on datetime
vs time
. - Paquete CPW
684
from datetime import datetime
datetime.now().strftime('%Y-%m-%d %H:%M:%S')
Para este ejemplo, la salida será así: '2013-09-18 11:16:32'
Aquí está la lista de strftime
directivas.
Respondido el 23 de enero de 20 a las 13:01
474
Similar a La respuesta de Harley, pero usa el str()
función para un formato rápido y sucio, un poco más legible por humanos:
>>> from datetime import datetime
>>> str(datetime.now())
'2011-05-03 17:45:35.177000'
contestado el 23 de mayo de 17 a las 12:05
Todo lo que pide es obtener la hora actual, no mostrarla. - picante
Irrelevante; el paso "str" no está dentro del alcance de la pregunta - picante
@pppery Tampoco dice la operación que no se trata de obtener una cadena de tiempo. El operador no dice en absoluto lo que quieren hacer con el tiempo, entonces, ¿por qué es malo mostrar cómo convertirlo en una cadena? La mayoría de las respuestas hablan de obtener una cadena de la época, por lo que parece ser un caso de uso común, entonces, ¿por qué destacar la respuesta de Ray? ¿De qué sirve simplemente aprovechar el tiempo sin saber cómo do algo con eso? Puede imprimirlo o hacer cálculos matemáticos en él, y solo un par de las respuestas muestran cómo hacerlo, por lo que creo que imprimir / obtener una cadena es un uso común. ;-) (Sé que es lo que vine a buscar.) - RTharston
El hecho de que esta respuesta tenga más de 440 votos a favor sugiere que la adición menor del método de cadena fue útil para mucha gente. - Juan
El hecho de que 440 personas buscaran contenido que no es una respuesta real a la pregunta no hace que ese contenido sea una respuesta a la pregunta. - picante
407
¿Cómo obtengo la hora actual en Python?
El time
módulo
El time
El módulo proporciona funciones que nos dicen el tiempo en "segundos desde la época", así como otras utilidades.
import time
Época de Unix
Este es el formato en el que debe obtener las marcas de tiempo para guardar en las bases de datos. Es un número de punto flotante simple que se puede convertir en un número entero. También es bueno para la aritmética en segundos, ya que representa el número de segundos desde el 1 de enero de 1970, 00:00:00, y es luz de memoria en relación con las otras representaciones del tiempo que veremos a continuación:
>>> time.time()
1424233311.771502
Esta marca de tiempo no tiene en cuenta los segundos intercalares, por lo que no es lineal; los segundos intercalares se ignoran. Entonces, si bien no es equivalente al estándar internacional UTC, está cerca y, por lo tanto, es bastante bueno para la mayoría de los casos de mantenimiento de registros.
Sin embargo, esto no es ideal para la programación humana. Si tiene un evento futuro que desea que tenga lugar en un momento determinado, querrá almacenar ese tiempo con una cadena que se pueda analizar en un datetime
objeto o serializado datetime
objeto (estos se describirán más adelante).
time.ctime
También puede representar la hora actual en la forma que prefiera su sistema operativo (lo que significa que puede cambiar cuando cambia las preferencias de su sistema, así que no confíe en que esto sea estándar en todos los sistemas, como he visto que otros esperan) . Esto suele ser fácil de usar, pero no suele dar como resultado cadenas que se puedan ordenar cronológicamente:
>>> time.ctime()
'Tue Feb 17 23:21:56 2015'
Puede hidratar las marcas de tiempo en una forma legible por humanos con ctime
también:
>>> time.ctime(1424233311.771502)
'Tue Feb 17 23:21:51 2015'
Esta conversión tampoco es buena para el mantenimiento de registros (excepto en texto que solo será analizado por humanos, y con el reconocimiento óptico de caracteres mejorado y la inteligencia artificial, creo que el número de estos casos disminuirá).
datetime
módulo
El datetime
El módulo también es bastante útil aquí:
>>> import datetime
datetime.datetime.now
El datetime.now
es un método de clase que devuelve la hora actual. Usa el time.localtime
sin la información de la zona horaria (si no se proporciona, de lo contrario, consulte la zona horaria a continuación). Tiene una representación (que le permitiría recrear un objeto equivalente) que se repite en el shell, pero cuando se imprime (o se coacciona a un str
), está en formato legible por humanos (y casi ISO), y el tipo lexicográfico es equivalente al tipo cronológico:
>>> datetime.datetime.now()
datetime.datetime(2015, 2, 17, 23, 43, 49, 94252)
>>> print(datetime.datetime.now())
2015-02-17 23:43:51.782461
fecha y hora utcnow
Puede obtener un objeto de fecha y hora en hora UTC, un estándar global, haciendo esto:
>>> datetime.datetime.utcnow()
datetime.datetime(2015, 2, 18, 4, 53, 28, 394163)
>>> print(datetime.datetime.utcnow())
2015-02-18 04:53:31.783988
UTC es un estándar de tiempo que es casi equivalente a la zona horaria GMT. (Aunque GMT y UTC no cambian para el horario de verano, sus usuarios pueden cambiar a otras zonas horarias, como el horario de verano británico, durante el verano).
Fecha y hora consciente de la zona horaria
Sin embargo, ninguno de los objetos de fecha y hora que hemos creado hasta ahora se puede convertir fácilmente a varias zonas horarias. Podemos resolver ese problema con el pytz
módulo:
>>> import pytz
>>> then = datetime.datetime.now(pytz.utc)
>>> then
datetime.datetime(2015, 2, 18, 4, 55, 58, 753949, tzinfo=<UTC>)
De manera equivalente, en Python 3 tenemos el timezone
clase con un utc timezone
instancia adjunta, que también hace que el objeto sea consciente de la zona horaria (pero para convertir a otra zona horaria sin la práctica pytz
el módulo se deja como ejercicio para el lector):
>>> datetime.datetime.now(datetime.timezone.utc)
datetime.datetime(2015, 2, 18, 22, 31, 56, 564191, tzinfo=datetime.timezone.utc)
Y vemos que podemos convertir fácilmente a zonas horarias desde el objeto UTC original.
>>> print(then)
2015-02-18 04:55:58.753949+00:00
>>> print(then.astimezone(pytz.timezone('US/Eastern')))
2015-02-17 23:55:58.753949-05:00
También puede hacer que un objeto de fecha y hora ingenuo sea consciente con el pytz
zona horaria localize
método, o reemplazando el atributo tzinfo (con replace
, esto se hace a ciegas), pero estos son más los últimos recursos que las mejores prácticas:
>>> pytz.utc.localize(datetime.datetime.utcnow())
datetime.datetime(2015, 2, 18, 6, 6, 29, 32285, tzinfo=<UTC>)
>>> datetime.datetime.utcnow().replace(tzinfo=pytz.utc)
datetime.datetime(2015, 2, 18, 6, 9, 30, 728550, tzinfo=<UTC>)
El pytz
módulo nos permite hacer nuestro datetime
objetos conscientes de la zona horaria y convertir las horas a los cientos de zonas horarias disponibles en el pytz
módulo.
Se podría aparentemente serializar este objeto para la hora UTC y almacenar esta en una base de datos, pero requeriría mucha más memoria y sería más propenso a errores que simplemente almacenar el tiempo de Unix Epoch, que demostré primero.
Las otras formas de ver los tiempos son mucho más propensas a errores, especialmente cuando se trata de datos que pueden provenir de diferentes zonas horarias. Desea que no haya confusión en cuanto a qué zona horaria está destinada a una cadena o un objeto de fecha y hora serializado.
Si muestra la hora con Python para el usuario, ctime
funciona bien, no en una tabla (normalmente no se ordena bien), pero quizás en un reloj. Sin embargo, personalmente recomiendo, cuando se trata de la hora en Python, ya sea usando la hora de Unix o una zona horaria UTC consciente datetime
objeto.
Respondido el 02 de enero de 21 a las 11:01
Creo que todos pueden estar de acuerdo en que ctime
tiene que ser la forma más extraña de formatear una fecha y hora. Día de la semana y mes abreviado, día del mes, 24 horas h: m: s, y luego un año de cuatro dígitos. Los nerds a los que les gusta ordenar cadenas de citas, estadounidenses, europeos ... todos, sí, todos, pueden encontrar al menos dos cosas que los irritan en ese formato. Aunque lo usaré porque es super fácil. - artedeguerra
Como digo anteriormente con respecto a ctime
: "También puede representar la hora actual de la forma que prefiera su sistema operativo (lo que significa que puede cambiar cuando cambia las preferencias de su sistema, así que no confíe en que esto sea estándar en todos los sistemas, como he visto en otros esperar). Esto suele ser fácil de usar, pero no suele dar como resultado cadenas que se puedan ordenar cronológicamente: "- Aaron Hall ♦
138
Do
from time import time
t = time()
t
- número de flotación, bueno para la medición del intervalo de tiempo.
Existe alguna diferencia para las plataformas Unix y Windows.
Respondido el 04 de diciembre de 15 a las 06:12
Mi resultado en Windows 10 Home fue 1576095264.2682993; para Windows, esto podría dar el tiempo en segundos. - Restablecer C0MMUNiSM
105
>>> from time import gmtime, strftime
>>> strftime("%a, %d %b %Y %X +0000", gmtime())
'Tue, 06 Jan 2009 04:54:56 +0000'
Eso genera el GMT actual en el formato especificado. También hay una localtime()
método.
Esta página tiene más detalles.
contestado el 31 de mayo de 19 a las 09:05
73
Las respuestas anteriores son todas buenas sugerencias, pero las encuentro más fáciles de usar ctime()
:
In [2]: from time import ctime
In [3]: ctime()
Out[3]: 'Thu Oct 31 11:40:53 2013'
Esto proporciona una representación de cadena con un formato agradable de la hora local actual.
Respondido el 19 de Septiembre de 19 a las 15:09
El OP preguntó cómo obtener el tiempo, no cómo mostrarlo! - TheTechRobo36414519
65
La forma más rápida es:
>>> import time
>>> time.strftime("%Y%m%d")
'20130924'
Respondido el 19 de Septiembre de 19 a las 15:09
54
Si necesita la hora actual como time
:
>>> import datetime
>>> now = datetime.datetime.now()
>>> datetime.time(now.hour, now.minute, now.second)
datetime.time(11, 23, 44)
respondido 23 nov., 11:18
40
.isoformat()
está en la documentación, pero aún no aquí (esto es muy similar a la respuesta de @Ray Vega):
>>> import datetime
>>> datetime.datetime.now().isoformat()
'2013-06-24T20:35:55.982000'
Respondido el 06 de junio de 18 a las 23:06
37
¿Por qué no preguntar al Observatorio Naval de EE. UU., el cronometrador oficial de la Marina de los Estados Unidos?
import requests
from lxml import html
page = requests.get('http://tycho.usno.navy.mil/cgi-bin/timer.pl')
tree = html.fromstring(page.content)
print(tree.xpath('//html//body//h3//pre/text()')[1])
Si vives en el área de DC (como yo), la latencia podría no ser tan mala ...
Respondido 19 ago 16, 20:08
@ C8H10N4O2 Si bien tiene razón en que las otras respuestas asumen que su computadora ya sabe la hora correcta, esta respuesta asume que la computadora tiene una conexión a Internet, que está en los EE. UU. Y que nunca eliminarán ese archivo / alterar el enlace. Muchas más suposiciones en esta respuesta de las aceptadas. Aún así, inteligente sudobangbang
34
Usar Los pandas para obtener la hora actual, exagerando el problema en cuestión:
import pandas as pd
print(pd.datetime.now())
print(pd.datetime.now().date())
print(pd.datetime.now().year)
print(pd.datetime.now().month)
print(pd.datetime.now().day)
print(pd.datetime.now().hour)
print(pd.datetime.now().minute)
print(pd.datetime.now().second)
print(pd.datetime.now().microsecond)
Salida:
2017-09-22 12:44:56.092642
2017-09-22
2017
9
22
12
44
56
92693
contestado el 31 de mayo de 19 a las 10:05
Este método quedará obsoleto en futuras versiones de pandas. En su lugar, utilice el módulo de fecha y hora. - libre67
29
Puede utilizar el time
módulo:
>>> import time
>>> print(time.strftime("%d/%m/%Y"))
06/02/2015
El uso de la capital Y
da el año completo, y usando y
daría 06/02/15
.
También puede usar el siguiente código para dar un tiempo más largo:
>>> time.strftime("%a, %d %b %Y %H:%M:%S")
'Fri, 06 Feb 2015 17:45:09'
Respondido el 07 de enero de 21 a las 09:01
27
Esto es con lo que terminé yendo:
>>>from time import strftime
>>>strftime("%m/%d/%Y %H:%M")
01/09/2015 13:11
Además, esta tabla es una referencia necesaria para elegir los códigos de formato apropiados para obtener el formato de fecha tal como lo desea (de la documentación de Python "datetime" aquí).
Respondido el 09 de enero de 15 a las 18:01
strftime(time_format)
devuelve la hora local actual como una cadena que corresponde a la dada time_format
. Nota: time.strftime()
y datetime.strftime()
admite diferentes conjuntos de directivas, por ejemplo, %z
no es compatible con time.strftime()
en Python 2. - jfs
¿Es una mejor práctica usar datetime en lugar de time? - Kristen G.
Muchos time
las funciones del módulo son envoltorios finos alrededor de las funciones C correspondientes. datetime
es un nivel superior y suele ser más portátil. - jfs
27
si ya está usando numpy, directamente puede usar la función numpy.datetime64 ().
import numpy as np
str(np.datetime64('now'))
solo por fecha:
str(np.datetime64('today'))
o, si ya está usando pandas, puede usar la función pandas.to_datetime ()
import pandas as pd
str(pd.to_datetime('now'))
o,
str(pd.to_datetime('today'))
contestado el 31 de mayo de 19 a las 12:05
21
datetime.now()
devuelve la hora actual como un objeto de fecha y hora ingenuo que representa la hora en la zona horaria local. Ese valor puede ser ambiguo, por ejemplo, durante las transiciones de DST ("retroceso"). Para evitar la ambigüedad, se debe utilizar la zona horaria UTC:
from datetime import datetime
utc_time = datetime.utcnow()
print(utc_time) # -> 2014-12-22 22:48:59.916417
O un objeto con reconocimiento de zona horaria que tiene adjunta la información de zona horaria correspondiente (Python 3.2+):
from datetime import datetime, timezone
now = datetime.now(timezone.utc).astimezone()
print(now) # -> 2014-12-23 01:49:25.837541+03:00
Respondido el 22 de diciembre de 14 a las 22:12
20
import datetime
date_time = datetime.datetime.now()
date = date_time.date() # Gives the date
time = date_time.time() # Gives the time
print date.year, date.month, date.day
print time.hour, time.minute, time.second, time.microsecond
Do dir(date)
o cualquier variable, incluido el paquete. Puede obtener todos los atributos y métodos asociados con la variable.
Respondido el 06 de junio de 18 a las 23:06
@snofty y @ user1016274, si import datetime
entonces es datetime.datetime.now()
\ n si from datetime import datetime
entonces es datetime.now()
- elBuzzyCoder
17
>>> import datetime, time
>>> time = time.strftime("%H:%M:%S:%MS", time.localtime())
>>> print time
'00:21:38:20S'
Respondido el 14 de Septiembre de 19 a las 13:09
Creo que quieres decir "datetime.now (). Strftime (...)" - hlin117
sí, se puede hacer como dijiste. "datetime.datetime.now (). strftime ("% H:% M:% S:% MS ")" - user2030113
% MS no te da milisegundos !! - ZF007
16
De forma predeterminada, now()
La función devuelve la salida en el YYYY-MM-DD HH:MM:SS:MS
formato. Utilice el siguiente script de muestra para obtener la fecha y hora actuales en un script de Python e imprimir los resultados en la pantalla. Crea un archivo getDateTime1.py
con el contenido a continuación.
import datetime
currentDT = datetime.datetime.now()
print (str(currentDT))
La salida se parece a la siguiente:
2018-03-01 17:03:46.759624
Respondido el 07 de junio de 18 a las 00:06
16
Esta pregunta no necesita una nueva respuesta por el simple hecho de hacerlo ... un juguete / módulo nuevo y brillante, sin embargo, es suficiente justificación. Que siendo el Biblioteca de péndulo, que parece hacer el tipo de cosas que Arrow intentó, excepto sin los defectos y errores inherentes que acosan a Arrow.
Por ejemplo, la respuesta a la pregunta original:
>>> import pendulum
>>> print(pendulum.now())
2018-08-14T05:29:28.315802+10:00
>>> print(pendulum.now('utc'))
2018-08-13T19:29:35.051023+00:00
Hay muchos estándares que deben abordarse, incluidos varios RFC e ISO, de los que preocuparse. Alguna vez los mezcló; no te preocupes, echa un vistazo a dir(pendulum.constants)
Sin embargo, hay un poco más que formatos RFC e ISO.
Cuando decimos local, ¿a qué nos referimos? Bueno, quiero decir:
>>> print(pendulum.now().timezone_name)
Australia/Melbourne
>>>
Presumiblemente, la mayoría de ustedes se refieren a otra parte.
Y así sigue. En pocas palabras: Péndulo intenta hacer para la fecha y la hora lo que hicieron las solicitudes para HTTP. Vale la pena considerarlo, particularmente por su facilidad de uso y su extensa documentación.
Respondido el 28 de diciembre de 19 a las 22:12
14
Hora actual de una zona horaria
from datetime import datetime
import pytz
tz_NY = pytz.timezone('America/New_York')
datetime_NY = datetime.now(tz_NY)
print("NY time:", datetime_NY.strftime("%H:%M:%S"))
tz_London = pytz.timezone('Europe/London')
datetime_London = datetime.now(tz_London)
print("London time:", datetime_London.strftime("%H:%M:%S"))
tz_India = pytz.timezone('Asia/India')
datetime_India = datetime.now(tz_India)
print("India time:", datetime_India.strftime("%H:%M:%S"))
#list timezones
pytz.all_timezones
respondido 11 mar '20, 20:03
13
Prueba el módulo de flechas de http://crsmithdev.com/arrow/:
import arrow
arrow.now()
O la versión UTC:
arrow.utcnow()
Para cambiar su salida, agregue .format ():
arrow.utcnow().format('YYYY-MM-DD HH:mm:ss ZZ')
Para una zona horaria específica:
arrow.now('US/Pacific')
Hace una hora:
arrow.utcnow().replace(hours=-1)
O si quieres lo esencial.
arrow.get('2013-05-11T21:23:58.970460+00:00').humanize()
>>> '2 years ago'
Respondido el 06 de junio de 18 a las 23:06
cuidado con eso arrow.now('Time/Zone')
puede fallar en algunas zonas horariasarrow
usos dateutil
que ha roto utc -> conversiones locales que se usan en el interior arrow.now()
. Nota: pytz
no tiene tal problema. Además, hay otros problemas relacionados con la zona horaria - jfs
12
Quiero obtener el tiempo en milisegundos. Una forma sencilla de conseguirlos:
import time, datetime
print(datetime.datetime.now().time()) # 11:20:08.272239
# Or in a more complicated way
print(datetime.datetime.now().time().isoformat()) # 11:20:08.272239
print(datetime.datetime.now().time().strftime('%H:%M:%S.%f')) # 11:20:08.272239
# But do not use this:
print(time.strftime("%H:%M:%S.%f", time.localtime()), str) # 11:20:08.%f
Pero yo quiero solo milisegundos, ¿derecho? La forma más corta de conseguirlos:
import time
time.strftime("%H:%M:%S", time.localtime()) + '.%d' % (time.time() % 1 * 1000)
# 11:34:23.751
Agregue o elimine ceros de la última multiplicación para ajustar el número de puntos decimales, o simplemente:
def get_time_str(decimal_points=3):
return time.strftime("%H:%M:%S", time.localtime()) + '.%d' % (time.time() % 1 * 10**decimal_points)
Respondido el 06 de junio de 18 a las 23:06
Esto funciona en Python 3: time.strftime ("% H:% M:% S", time.localtime ()) + '. {}'. Format (int (time.time ()% 1 * 1000)) - greg graham
12
Si solo desea la marca de tiempo actual en ms (por ejemplo, para medir el tiempo de ejecución), también puede usar el módulo "timeit":
import timeit
start_time = timeit.default_timer()
do_stuff_you_want_to_measure()
end_time = timeit.default_timer()
print("Elapsed time: {}".format(end_time - start_time))
Respondido 18 Jul 18, 08:07
12
Puede usar esta función para obtener la hora (desafortunadamente no dice AM o PM):
def gettime():
from datetime import datetime
return ((str(datetime.now())).split(' ')[1]).split('.')[0]
Para que las horas, los minutos, los segundos y los milisegundos se fusionen más tarde, puede utilizar estas funciones:
Hora:
def gethour():
from datetime import datetime
return (((str(datetime.now())).split(' ')[1]).split('.')[0]).split(':')[0]
Minuto:
def getminute():
from datetime import datetime
return (((str(datetime.now())).split(' ')[1]).split('.')[0]).split(':')[1]
Segundo:
def getsecond():
from datetime import datetime
return (((str(datetime.now())).split(' ')[1]).split('.')[0]).split(':')[2]
Milisegundo:
def getmillisecond():
from datetime import datetime
return (str(datetime.now())).split('.')[1]
Respondido 13 ago 19, 17:08
10
import datetime
todays_date = datetime.date.today()
print(todays_date)
>>> 2019-10-12
# adding strftime will remove the seconds
current_time = datetime.datetime.now().strftime('%H:%M')
print(current_time)
>>> 23:38
Respondido 12 Oct 19, 19:10
10
Puedes probar lo siguiente
import datetime
now = datetime.datetime.now()
print(now)
or
import datetime
now = datetime.datetime.now()
print(now.strftime("%Y-%b-%d, %A %I:%M:%S"))
respondido 30 nov., 20:14
9
Porque nadie lo ha mencionado todavía, y esto es algo con lo que me encontré recientemente ... el método fromutc () de una zona horaria de pytz combinado con utcnow () de datetime es la mejor manera que he encontrado para obtener una hora actual (y fecha) útil en cualquier zona horaria.
from datetime import datetime
import pytz
JST = pytz.timezone("Asia/Tokyo")
local_time = JST.fromutc(datetime.utcnow())
Si todo lo que quieres es el tiempo, puedes conseguirlo con local_time.time()
.
Respondido 06 Jul 18, 09:07
Sorprendentemente, todas las respuestas anteriores no mencionaron las zonas horarias. también debe incluir strftime para obtener el formato que desea. - punto gráfico
No incluí eso porque ya se ha cubierto en otras respuestas (y el formato de visualización no era parte de la pregunta). - kungphu
9
Esta pregunta es para Python, pero dado que Django es uno de los frameworks más utilizados para Python, es importante tener en cuenta que si está usando Django siempre puede usar timezone.now()
en lugar de datetime.datetime.now()
. El primero es "consciente" de la zona horaria, mientras que el segundo no lo es.
Ver esta SO respuesta y Documento de Django para obtener detalles y justificación timezone.now()
.
from django.utils import timezone
now = timezone.now()
Respondido el 05 de junio de 19 a las 12:06
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas python datetime time or haz tu propia pregunta.
tenga en cuenta que las respuestas más votadas son para timezonoe-naive datetime, mientras que vemos que en el entorno de producción cada vez más servicios en todo el mundo están conectados entre sí y la fecha y hora con reconocimiento de zona horaria se convierte en el estándar requerido - Sławomir Lenart
también, para django, ver aquí para conocer la zona horaria - Anupam