Есть ли способ превратить час '' 1-5-6 '' в '' 01-05-06 "? (Просто пример) - PullRequest
0 голосов
/ 07 мая 2019

Есть ли способ превратить час '' 1-5-6 '' в '' 01-05-06 "? Мне нужно текущее время в этом формате.

import datetime
from datetime import date
data = date.today()
print(data)
agora = datetime.datetime.now()
print(agora)
hora = agora.hour
minuto = agora.minute
segundo = agora.second
print('{}-{}-{}'.format(hora, minuto, segundo))

Ответы [ 3 ]

3 голосов
/ 07 мая 2019

Просто используйте strftime:

from datetime import datetime
agora = datetime.now()

print(agora.strftime('%H-%M-%S'))

Вывод:

09-59-58
1 голос
/ 07 мая 2019

Чтобы добавить начальные нули в строку формата, вы можете использовать :02d. 0 указывает на использование начального нуля:

print('{:02d}-{:02d}-{:02d}'.format(hora, minuto, segundo))

Тестовый код:

import datetime
from datetime import date

data = date.today()
print(data)
agora = datetime.datetime.now()
print(agora)
hora = agora.hour
minuto = agora.minute
segundo = agora.second
print('{:02d}-{:02d}-{:02d}'.format(hora, minuto, segundo))

Результаты:

2019-05-06
2019-05-06 19:06:06.459819
19-06-06
1 голос
/ 07 мая 2019

Или просто используйте:

print(str(agora).split()[-1])

Демо:

import datetime
agora = datetime.datetime.now()
print(str(agora).split()[-1])

Выход:

10:03:04.083606

Если вы заботитесь о миллисекундах + микросекундах, используйте:

import datetime
agora = datetime.datetime.now()
print(str(agora).split()[-1].split('.')[0])

Выход:

10:03:04
...