SORU
11 ŞUBAT 2009, ÇARŞAMBA


Python biçim dizesi için timedelta

Bir Python acemi değilim (2 hafta) ve sorun datetime.timedelta bir nesne biçimlendirme yaşıyorum.

Yapmaya çalıştığım şey şu: Nesneler ve nesne sınıf bir etkinliğin süresini gösteren bir timedelta nesnesi üyelerinden biri. Saat biçimi bu süre görüntülemek için:dakika istiyorum.

Bunu yapmak için çeşitli yöntemler denedim ve zorluklar yaşıyorum. Benim şu anki yaklaşım, saat ve dakika geri benim nesneleri için sınıf eklemek için. Bu timedelta bölerek saat alabilirim.3600 ve yuvarlama tarafından saniye. Kalan saniye ve dakika için bu dönüştürme ile ilgili sorun yaşıyorum.

Bu arada, sunum için Django Templates Google AppEngine kullanıyorum.

Eğer herkes bu çözmek için daha iyi bir yol bilen yardımcı olabilir eğer ben çok mutlu olurdu.

Teşekkürler

CEVAP
11 ŞUBAT 2009, ÇARŞAMBA


Bildiğiniz gibi, .seconds öznitelik erişerek timedelta bir nesneden saniye alabilirsiniz.

Modül ve çıkarma bir arada kullanarak saat ve geri kalanı için bu dönüştürebilirsiniz:

# arbitrary number of seconds
s = 13420
# hours
hours = s // 3600 
# remaining seconds
s = s - (hours * 3600)
# minutes
minutes = s // 60
# remaining seconds
seconds = s - (minutes * 60)
# total time
print '%s:%s:%s' % (hours, minutes, seconds)
# result: 3:43:40

Bizi bu kodu basitleştirmek için izin verir: ancak, python yerleşik işlev sağlar divmod ()

s = 13420
hours, remainder = divmod(s, 3600)
minutes, seconds = divmod(remainder, 60)
print '%s:%s:%s' % (hours, minutes, seconds)
# result: 3:43:40

Bu yardımcı olur umarım!

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • andony5589

    andony5589

    7 Aralık 2011
  • AndyMcMillinTV

    AndyMcMillin

    6 HAZİRAN 2007
  • Sarah's YouTube Channel

    Sarah's YouT

    27 Temmuz 2009