SORU
16 Mart 2012, Cuma


Nasıl Python datetime tamsayı zaman damgası dönüştürmek

Bir veri dosyası gibi damgaları içeren var "1331856000000". Ne yazık ki, biçim için pek çok döküman yok, zaman damgası biçimlendirilmiş nasıl emin değilim. Python standart datetime denedim.() fromordinal ve datetime.() fromtimestamp ve birkaç Diğerleri, ama hiç bir şey uymuyor. Belirli sayıda geçerli tarih (örneğin 2012-3-16) karşılık gelen oldukça emin, ama çok fazla değil.

Nasıl bir datetime için bu numarayı nasıl dönüştürebilirim?

CEVAP
16 Mart 2012, Cuma


datetime.datetime.fromtimestamp() muhtemelen Salise (JavaScript gibi) zaman yaşıyorsanız, ama fromtimestamp() Unix zaman damgası bekliyor hariç doğru, saniyeler içinde.

Öyle yap:

>>> import datetime
>>> your_timestamp = 1331856000000
>>> date = datetime.datetime.fromtimestamp(your_timestamp / 1e3)

ve sonuç:

>>> date
datetime.datetime(2012, 3, 16, 1, 0)

Sorunuza cevap veriyor mu?

EDİT: J. F. Sebastian düzgün önerdidoğru bölümü kullanın1e3 (şamandıra 1000). Farkı olur, Eğer kesin sonuç almak istiyorsanız, bu nedenle cevabımı değiştirdim. Fark Python 2 varsayılan davranış sonuçları.her zaman döndüren x, (9 ** operatör kullanma) int (. int bölme int ^em>zemin bölümü). Tarafından yerine bölen 1000 (int) 1e3 bölen (temsili 1000 kaydır olarak) ya da float(1000) (ya da 1000. vb.), bölünme olurgerçek bölümü. Python 2.x float vb int, float float, float int bölme float döndürür. Ve zaman damgası fromtimestamp() yönteme geçirilen bazı kesirli bir parçası olduğunda, bu yöntemin sonucu da kesirli kısmı (mikrosaniye olarak) hakkında bilgi içerir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • InfinityWard

    InfinityWard

    19 EYLÜL 2006
  • itfigueres

    itfigueres

    12 EKİM 2013
  • jeffisthecoolguy

    jeffisthecoo

    17 HAZİRAN 2013