Из пакета datetime
, %z
равно
Смещение UTC в форме ± ЧЧММ [СС [.ffffff]] (пустая строка, если объектnaive).
и
Для простого объекта коды формата% z и% Z заменяются пустыми строками.Для осведомленного объекта:
% z
utcoffset () преобразуется в строку вида ± HHMM [SS [.ffffff]], где HH - двузначная строка, дающаячисло часов смещения UTC, MM - это двузначная строка, указывающая количество минут смещения UTC, SS - это двузначная строка, указывающая количество секунд смещения UTC, а ffffff - это 6-значная строка, указывающая число микросекунд смещения UTC..
Используя ваш пример кода, time.utcoffset()
возвращается пустым.
Редактировать с исправлением
Возможно, вы захотите использовать метод .localize()
, но для этого вам потребуется преобразовать строку в datetime.datetime
а не объект datetime.time
.Это имеет смысл в некотором смысле: среда в 01:00 в Токио, вторник 1700 в Берлине.
import pytz
import datetime
tz = pytz.timezone('Africa/Cairo')
dt = datetime.datetime.strptime('14:24:41', '%H:%M:%S')
time = tz.localize(dt)
print(time.strftime('%H:%M:%S%z'))