Python: как показать временную метку, отличную от функции datetime

#python

#python

Вопрос:

Я получаю ниже данные словаря из aws. В python, как я могу заставить ее показывать временную метку вместо datetime.datetime(2020, 10, 26, 10, 57, 19, 215000, tzinfo=tzlocal()) есть?

Спасибо,

{ «ConfigRuleName»: «обязательные теги», «OrderingTimestamp»: datetime.datetime( 2020, 10, 26, 10, 57, 19, 215000, tzinfo=tzlocal() ), «resourceId»: «arn: aws: cloudformation:us-east-1:553763988947: стек/es-edge-security-headers-kells/f1924880-8311-11ea-9a26-0af77bd56d08», «ResourceType»: «AWS ::CloudFormation::Stack», }

Комментарии:

1. datetime.datetime объекты имеют strftime функцию. Смотрите Документы . Существуют также другие методы отображения даты, в зависимости от того, что вы хотите.

Ответ №1:

Не уверен, что именно вы ищете.. Разве это уже не объект datetime?

 from datetime import datetime
from dateutil.tz import *
d=datetime(2020, 10, 26, 10, 57, 19, 215000, tzinfo=tzlocal())
print(d.timestamp())
print(str(d))
  

Вывод :

 1603690039.215
2020-10-26 10:57:19.215000 05:30
  

Комментарии:

1. Спасибо, Джонсон, что я хочу сделать, это показать ответ, подобный: { «ConfigRuleName»: «required-tags», «OrderingTimestamp»: «2020-10-26 10:57:19.215000 05:30″, » Идентификатор ресурса»: «arn: aws: облачная информация: us-east-1:553763988947: stack/es-edge-security-headers-kells/f1924880-8311-11ea-9a26-0af77bd56d08», «ResourceType»: «AWS ::CloudFormation::Stack», }

Ответ №2:

Предполагая, что вы используете обычное определение метки времени, вы можете просто вызвать функцию метки времени datetime. Это даст вам значение с плавающей точкой, представляющее секунды от эпохи (это норма для Python, в C это будет int).

Итак, если вы поместите в строку:

 ThatDictionary["OrderingTimeStamp"] = ThatDictionary["OrderingTimeStamp"].timestamp()
  

Вы навсегда преобразуете это значение в словаре в временную метку. Вы можете преобразовать ее обратно, если захотите позже, или создать копию dict и сделать это, чтобы распечатать ее, или просто запустить метод timestamp() для этого элемента всякий раз, когда вы его используете.