Я получил массив содержит целые числа, такие как 737511, как я могу преобразовать каждое целое число в этом массиве в дату, как 2020-03-27 - PullRequest
0 голосов
/ 04 апреля 2020

В python я получил массив, который содержит целые числа, например 737511, он должен означать 2020-03-27 (27 марта 2020 г.). Как мне преобразовать это целое число в 2020-03-27? Левый столбец - это массив, который я хочу, правый столбец - это массив, который я получил.

2020-03-16     737502
2020-03-17     737503
2020-03-18     737504
2020-03-19     737505
2020-03-20     737506
2020-03-23     737507
2020-03-24     737508
2020-03-25     737509
2020-03-26     737510
2020-03-27     737511

Когда я делаю

timestamp = datetime.date.fromtimestamp(1585300000)
print(timestamp.strftime('%Y-%m-%d %H:%M:%S'))

, я получаю 2020-03-27, что было правильно.

Но когда я делаю

a = 733860
timestamp = datetime.date.fromtimestamp(a*1585300000/737511)
print(timestamp.strftime('%Y-%m-%d %H:%M:%S'))

Я получил 2019-12-27, но хочу 2010-03-27.

Ответы [ 3 ]

0 голосов
/ 04 апреля 2020
datetime.date.fromordinal(a)

работал

Извините, я сделал ошибку, я на самом деле хочу 2010-03-29 для 733860

0 голосов
/ 30 апреля 2020

использовать datetime.date.fromordinal ()

0 голосов
/ 04 апреля 2020

'737511' Я считаю, что это число является серийным значением для григорианского календаря.

import matplotlib.dates as mdates

d = mdates.num2date(737511)

d
datetime.datetime(2020, 3, 27, 0, 0, tzinfo=datetime.timezone.utc)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...