Как обменять даты из цикла в массиве в Python? - PullRequest
0 голосов
/ 28 января 2019

Я хотел бы спросить, как обменять даты из цикла в массив в Python?Мне нужен массив нерегулярных, случайных дат с часами.Итак, я подготовил решение:

import datetime
import radar
r2 =()
for a in range(1,10):
       r2 = r2+(radar.random_datetime(start='1985-05-01', stop='1985-05-04'),)
r3 = list(r2)
print(r3)

В результате я получаю список вроде:

[datetime.datetime(1985, 5, 3, 17, 59, 13), datetime.datetime(1985, 5, 2, 15, 58, 30), datetime.datetime(1985, 5, 2, 9, 46, 35), datetime.datetime(1985, 5, 3, 10, 5, 45), datetime.datetime(1985, 5, 2, 4, 34, 43), datetime.datetime(1985, 5, 3, 9, 52, 51), datetime.datetime(1985, 5, 2, 22, 7, 17), datetime.datetime(1985, 5, 1, 15, 28, 14), datetime.datetime(1985, 5, 3, 13, 33, 56)]

Но мне нужны строки в списке, такие как:

list2 = ['1985-05-02 08:48:46','1985-05-02 10:47:56','1985-05-03 22:07:11', '1985-05-03 22:07:11','1985-05-01 03:23:43']

Ответы [ 2 ]

0 голосов
/ 28 января 2019

Используйте strftime , чтобы преобразовать дату, сгенерированную радаром, перед добавлением ее в список.например,

import datetime
import radar
r2 =()
for a in range(1,10):
 t=datetime.datetime(radar.random_datetime(start='1985-05-01', stop='1985-05-04'))
 r2 = r2+(t.strftime('%Y-%m-%d %H:%M:%S'),)
r3 = list(r2)
print(r3)
0 голосов
/ 28 января 2019

Вы можете преобразовать дату и время в строку с str(), например:

Код:

str(radar.random_datetime(start='1985-05-01', stop='1985-05-04'))

Код теста:

import radar

r2 = ()
for a in range(1, 10):
    r2 = r2 + (str(
        radar.random_datetime(start='1985-05-01', stop='1985-05-04')),)
r3 = list(r2)
print(r3)

Результаты:

['1985-05-01 21:06:29', '1985-05-01 04:43:11', '1985-05-02 13:51:03', 
 '1985-05-03 03:20:44', '1985-05-03 19:59:14', '1985-05-02 21:50:34', 
 '1985-05-01 04:13:50', '1985-05-03 23:28:36', '1985-05-02 15:56:23']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...