Datetime в формате ISO с миллисекундами до 000 - PullRequest
0 голосов
/ 17 марта 2020

Мой код datetime.now(timezone.utc).astimezone(pytz.timezone("Europe/Berlin")).isoformat() печатает следующий формат '2020-03-17T16:54:53.559415+01:00'

НО Я хочу, чтобы миллисекунды были 0000 '2020-03-17T16:54:53.000+01:00'.

Я уже пытался использовать replace(miliseconds=0), но он удаляет миллисекунды полностью от напечатанной строки.

1 Ответ

3 голосов
/ 17 марта 2020

Вы хотите .replace(microsecond=0), чтобы обнулить милли- (и микро-) секунды. Затем просто укажите право timespec для isoformat, 'milliseconds':

nowzeroed = datetime.now(timezone.utc).replace(microsecond=0)
nowberlin = nowzeroed.astimezone(pytz.timezone("Europe/Berlin"))
nowformatted = nowberlin.isoformat(timespec='milliseconds') 
...