/ / Python datetime: como manter todo o `us (microssegundo)`? - python, datetime

Data e hora do Python: como nos manter inteiros (microssegundos) `? - python, datetime

In [25]: datetime.fromtimestamp(15179052980380002/10000000)
Out[25]: datetime.datetime(2018, 2, 6, 17, 21, 38, 38000)

Como você pode ver aqui, converta para 38000us ao invés de 38002us (us = microssegundo)

Como posso manter "2" do dígito mais correto?

Respostas:

0 para resposta № 1

Você pode tentar uma solução simples para armazenar microssegundos separadamente replace em datetime objeto

>>> timestamp = 15179052980000000
>>> m_seconds = 38002
>>> dt = datetime.fromtimestamp(timestamp/10000000)
>>> dt
>>> datetime.datetime(2018, 2, 6, 16, 21, 38)

Então, finalmente, substitua o dt com microssegundos desejados

>>> dt.replace(micorsecond=m_seconds)
>>> dt
>>> datetime.datetime(2018, 2, 6, 16, 21, 38, 38002)

4 para resposta № 2

Você precisaria de nanossegundos de precisão para codificar esse valor - note que você não tem 0,038002, você tem 0,0380002 (dígito extra).

Isso é 38000us (arredondado) ou 38000200ns.