2016-03-07 1 views
0

Si j'ai un datetime.timedelta de: datetime.timedelta (0, 0, 66)python datetime.timedelta - comment afficher sous la forme <seconds>. <micros>

print my_dt 0: 00: 00,000066

Comment puis-je conserver et imprimer seulement les secondes et les microsecondes ensemble? (c'est-à-dire dépouiller les minutes et les heures).

Je peux voir comment prendre seulement le micro et/ou les secondes, c'est-à-dire par ces objets (par exemple my_dt.microseconds) - mais je voudrais garder les deux dans le même cmd sans un formatage moche, coller des chaînes ensemble après le fait.

Pour cet exemple, la sortie que je suis après serait:

00,000066

Toute aide appréciée (n00b python)

Version:

  • Python 2.6. 6
+0

Désolé -0 Yiou à formater la sortie sans utiliser des chaînes de mise en forme? Pouvez-vous clarifier à ce sujet? – jsbueno

+0

Aussi, pourquoi y9u utilise-t-il Python2.6 qui est une version assez ancienne (non, ce n'est pas l'avant-dernier, la version la plus récente est 3.5, et 2.6 est 6 versions - il est permis d'utiliser 2.7 si vous avez vraiment besoin de Python 2, mais vous ne devriez pas vraiment) – jsbueno

Répondre

2

Voici la documentation officielle pour datetime util.

datetime

Si vous avez un objet timedelta, cela signifie que vous avez un intervalle de temps qui est stable. L'objet timedelta a 3 attributs: jours, secondes et microsecondes. Par exemple: si votre intervalle de temps est 1 jour, 5 heures, 23 minutes, 10 secondes et 50 microsecondes; voulez-vous que le format de sortie soit seulement 10.000050? Je devine comme ci-dessus.

Donc, votre code devrait ressembler à:

seconds = my_dt.seconds%60 
microseconds = my_dt.microseconds%1000000 
result = "%d.%d" %(seconds,microseconds) 
+0

vous devez vraiment interpréter l'interpolation de chaîne avec la méthode de chaîne '.format' - ou l'opérateur de chaîne'% ', sans des chaînes de concaténation comme celle-ci. – jsbueno

+0

C'est une autre façon, mais est-ce que ça serait un problème? J'utilise aussi comme ça et je n'ai rencontré aucun problème jusqu'à maintenant. –

+0

Ok J'ai corrigé le format mais je me demandais juste si ce serait un problème de lancer un entier à une chaîne? Si oui, j'ai utilisé cette méthode plusieurs fois dans mon projet. Je pourrais penser à les changer. –