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

  • David Tedeyev

    David Tedeye

    20 AĞUSTOS 2011
  • Eric Enge

    Eric Enge

    2 Kasım 2009
  • newreleaseblitz

    newreleasebl

    13 Ocak 2010