2016-03-19 21 views
2

UNIX zaman damgasını milisaniye olarak HH: MM: SS olarak dönüştürmem gerekiyor. Bunu denerseniz:UNIX zaman damgası (milisaniye ile) HH için: MM: SS Python'da

O var
import datetime 
var = 1458365220000 
temp = datetime.datetime.fromtimestamp(var).strftime('%H:%M:%S') 
print (temp) 

değil işleri yapar ve ben alıyorum hatadır geçerli:

OSError: [Errno 22] Invalid argument

cevap

4

hata dışına sayısını itmek milisaniye kaynaklanmaktadır 32 bit tam sayı aralığı. datetime.datetime.fromtimestamp, ilk argümanın UNIX çağının başlangıcından beri saniye sayısı olmasını bekler. Bununla birlikte, kayan nokta sayısı olarak verilen bir saniyenin kesirlerini işleme yeteneğine sahiptir. Böylece, yapmanız gereken tek şey 1000 ile senin zaman damgası bölmektir: ayrıca biçimlendirilmiş dizede milisaniye eklemek istiyorsanız

import datetime 
var = 1458365220000 
temp = datetime.datetime.fromtimestamp(var/1000).strftime('%H:%M:%S') 
print (temp) 

aşağıdaki biçimi kullanın: '%H:%M:%S.%f'

+0

* Teşekkür * Çok! – MarcoBuster

İlgili konular