Python datetime в строку без микросекундного компонента

Я добавляю строки времени UTC в ответы Bitbucket API, которые в настоящее время содержат только строки времени Амстердама (!).Для согласованности со строками времени UTC, возвращаемыми в другом месте, желаемый формат - 2011-11-03 11:07:04 (за которым следует +00: 00 , но это не уместно).

Как лучше всего создать такую ​​строку ( без микросекундного компонента) из экземпляра datetime с микросекундным компонентом?

>>> import datetime
>>> print unicode(datetime.datetime.now())
2011-11-03 11:13:39.278026

I ' Я добавлю лучший вариант, который пришел мне в голову, как возможный ответ, но вполне может быть более элегантное решение.

Изменить: Я должен упомянуть, что я не на самом деле печатаю текущее время - я использовал datetime.now , чтобы предоставить быстрый пример. Таким образом, решение не должно предполагать, что любые получаемые им экземпляры datetime будут включать микросекундные компоненты.

382
задан davidchambers 3 November 2011 в 07:49
поделиться

1 ответ

Это, которое я использую, потому что я могу понять и следовательно помнить это лучше (и формат даты/времени также может быть настроен на основе Вашего выбора):-

import datetime
moment = datetime.datetime.now()
print("{}/{}/{} {}:{}:{}".format(moment.day, moment.month, moment.year,
                                 moment.hour, moment.minute, moment.second))
-1
ответ дан 22 November 2019 в 23:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: