Я выполнил поиск, но не смог найти ответ, который удовлетворял бы моей проблеме.
Я использую Python 3.7 и мне нужно преобразовать серию десятичных чисел в объект datetime в форме %Y-%m-%d %H:%M:%S
.При этом мне нужно учитывать исходную точку, например:
t = 0.000000
равно 2016-06-25 00:00:00
t = 0.010417
равно .....?
и так далее.Я знаю, что в моем десятичном времени целая часть - это день с начала, десятичная часть - это доля дня.
Я нашел ответ, используя R здесь .Я также думаю, что мне может понадобиться использовать метод класса date.fromordinal(ordinal)
или что-то подобное, но я не могу понять, как это сделать.
Это то, что я пробовал до сих пор:
пример t = 1.010416
import datetime as DT
from datetime import timedelta
day = int(x)
datetime_object = DT.datetime.strptime("2016-06-25 00:00:00", '%Y-%m-%d %H:%M:%S')
python_datetime = DT.datetime.fromordinal(day) + timedelta(days=datetime_object.day-1)
Я получаю:
datetime.datetime (1, 1, 25, 0, 0)
Но янельзя добавить ни 2016 год, ни месяц.Кроме того, для каждого случая, в котором int(t) = 0
, я получаю:
ValueError: порядковый номер должен быть> = 1
Большое спасибо за ваши ответы