Я использую астропию, и мне нужно преобразовать даты следующим образом: 2012.06.22_17:56:15_TAI в номер дня по юлианскому календарю. Я пытался:
from astropy.time import Time
hmitime = hminew['MidTime']
i=0
print(hmitime[i])
hmi0=Time(hmitime[i],scale='tai')
print(hmi0.jd)
где hmitime это просто матрица с моими датами. Но python показывает мне это:
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']
Кто-нибудь знает, что не так? Как я могу преобразовать свои даты?? Спасибо
Допустимые строковые форматы для date-hms:
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
Вы можете либо изменить один из них, либо определить свой собственный формат, создав класс для формата из класса TimeFormat
. https://docs.astropy.org/en/stable/api/astropy.time.TimeFormat.html#astropy.time.TimeFormat
Похоже, что ваш ввод имеет неправильный формат. Прочтите алгоритм, чтобы узнать, какие форматы ожидаются.
Существует алгоритм преобразования текущей даты и времени в дату по юлианскому календарю. Ссылка на это здесь. У меня также есть очень короткий код на фортране, который также вычисляет JD.
Вы можете добавить это в свой скрипт Python.
создатель планет
Джеймс К.