¿Convertir fechas a número de día juliano en astrología?

Estoy usando astropía y necesito convertir fechas como esta: 2012.06.22_17:56:15_TAI en número de día juliano. Lo intenté:

from astropy.time import Time
hmitime = hminew['MidTime']
i=0
print(hmitime[i])
hmi0=Time(hmitime[i],scale='tai')
print(hmi0.jd)

donde hmitime es solo la matriz con mis fechas. Pero Python me muestra esto:

ValueError: Input values did not match any of the formats where the format keyword is optional [u'datetime', u'iso', u'isot', u'yday', u'fits', u'byear_str', u'jyear_str']

¿Alguien sabe lo que está mal? ¿Cómo puedo convertir mis fechas? Gracias

Creo que un ejemplo real textual de sus datos de entrada, incluidos espacios, etc., podría ser crucial para identificar su problema ... después de todo, es un ValueError.
¿Qué es el diccionario hminew? ¿Puedes crear un ejemplo mínimo que pueda copiar y pegar para generar este error?

Respuestas (2)

Los formatos de cadena aceptados para date-hms son:

Format  Class    Example argument

fits    TimeFITS    ‘2000-01-01T00:00:00.000’
iso     TimeISO     ‘2000-01-01 00:00:00.000’
isot    TimeISOT    ‘2000-01-01T00:00:00.000’

https://docs.astropy.org/en/stable/time/index.html

Puede cambiar uno de estos o puede definir su propio formato derivando una clase para el formato de la TimeFormatclase. https://docs.astropy.org/en/stable/api/astropy.time.TimeFormat.html#astropy.time.TimeFormat

Parece como si su entrada tuviera el formato incorrecto. Lea el algoritmo para ver qué formatos se esperan.

Hay un algoritmo para convertir nuestra fecha y hora actuales a la fecha juliana. La referencia para esto está aquí. También tengo un código fortran muy corto que también calcula JD.

Puede agregar esto a su secuencia de comandos de Python.