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

  • Curso Online Gratuito

    Curso Online

    4 Aralık 2011
  • Evan Coury

    Evan Coury

    29 NİSAN 2007
  • The10HourMan

    The10HourMan

    28 EYLÜL 2012