[Python] Convertit l'affichage de l'heure (type str) en utilisant "" "et" '"en secondes (type float) avec datetime et timedelta

Aperçu

J'étais en train de gratter quelque chose et j'avais du mal à traiter le temps écoulé, alors j'ai pris une note. Connaissez-vous la notation d'un tel chronomètre? "X'yy" z "signifie" x minutes yy.z secondes ". Cette fois, je veux convertir cette chaîne de caractères (type str) en secondes (type float) en utilisant python. Par exemple La conversion est de "1'45" 5 "-> 105,5 secondes.

1. Convertissez une chaîne en type datetime en utilisant strptime de Datetime

Dans le programme, le type de chaîne de caractères de python est décrit par 'hoge' ou"hoge", mais cette fois la notation" x'yy "z" est "'", "" "dans la chaîne de caractères. Sera inclus. Dans un tel cas, la chaîne de caractères python est gérée en utilisant \, et la notation est `` x \ 'yy "z'`. Si cela est transformé en un type datetime à l'aide de strptime, ce sera comme suit.

from datetime import datetime
# %M correspond aux minutes,%S correspond aux secondes,%f est des microsecondes
strtime = '1\'45"5' #Chaîne
t = datetime.strptime(strtime, '%M\'%S"%f')
print('t:', t)
print('type:', type(t)) 

# Output
# t: 1900-01-01 00:01:45.500000
# type: <class 'datetime.datetime'>

Avec cela seul, étant donné que datetime est un type de date, il sera 0: 01: 45: 500 000 microsecondes le 1er janvier 1900. Cette fois, je veux le traiter comme "heure" au lieu de date, donc ce n'est pas suffisant. Par conséquent, il est converti en type timedelta.

2. Convertissez en type timedelta, puis convertissez en secondes

timedelta signifie "heure" au lieu de "date", car il est utilisé pour ajouter et soustraire des dates et des heures. Cependant, comme il n'est pas possible de convertir directement à partir de la chaîne de caractères, le type datetime est renvoyé. La conversion du type datetime au type timedelta est la suivante.

from datetime import timedelta
t_delta = timedelta(
    seconds=t.second,  #datetime type t secondes sont stockées
    microseconds=t.microsecond,  #Type de date / heure t les microsecondes sont stockées
    minutes=t.minute,  #Type de date / heure t minutes sont stockées
)
print('t_delta:', t_delta)
print('type:', type(t_delta))
# Output
# t_delta: 0:01:45.500000
# type: <class 'datetime.timedelta'>

Vous pouvez voir que dans le type timedelta, ce n'est pas une date mais est traité comme 1 minute 45 secondes 5 comme heure. Enfin, 1 minute 45 secondes 5 est convertie en secondes uniquement. Bien sûr, vous pouvez écrire la programmation manuellement, mais timedelta a une méthode appelée total_seconds (), qui peut être convertie en secondes en un seul coup!

tdl2sec = t_delta.total_seconds()
print(tdl2sec)
print(type(tdl2sec))

#Output
# 105.5
# <class 'float'>

Atteint un objectif heureux! !!

Recommended Posts

[Python] Convertit l'affichage de l'heure (type str) en utilisant "" "et" '"en secondes (type float) avec datetime et timedelta
Comment obtenir la différence de date et d'heure en secondes avec Python
J'ai essayé de convertir la chaîne datetime <-> avec tzinfo en utilisant strftime () et strptime ()
Convertir un float exponentiel en str en Python
Pour représenter la date, l'heure, l'heure et les secondes en Python
Comment convertir le type Python # pour les super débutants de Python: str
0 Convertir une date non remplie en type datetime avec une expression régulière
Comment convertir le type Python # pour les super débutants de Python: int, float
[Python] Afficher le temps écoulé en heures, minutes et secondes (00:00:00)
Convertir une vidéo en noir et blanc avec ffmpeg + python + opencv
Déterminez le format de la date et de l'heure avec Python et convertissez-le en Unixtime
IME On / Off est affiché par LED en coopération avec Python et Arduino
Convertir la liste en DataFrame avec python
Essayez d'afficher la carte google et la carte géographique avec python
Comment calculer "xx time" en un seul coup avec Python Timedelta
Défi pour créer un rapport de liste de l'axe des temps avec l'API Toggl et Python
Essayez de créer foldl et foldr avec Python: lambda. Aussi mesure du temps
Obtenez et convertissez l'heure actuelle dans le fuseau horaire local du système avec python
Lisez le fichier CSV avec Python et convertissez-le en DataFrame tel quel
Calculer et afficher le poids standard avec python
De Python à l'utilisation de MeCab (et CaboCha)
Convertir un mémo à la fois avec Python 2to3
Utilisation de Python et MeCab avec Azure Databricks
Convertir des données Excel en JSON avec python
Convertir Hiragana en Romaji avec Python (bêta)
Fractal pour faire et jouer avec Python
Convertissez des données FX 1 minute en données 5 minutes avec Python
Comment afficher le japonais python avec lolipop
Recevoir le type de date (datetime) avec ArgumentParser [python]
Convertir des nombres chinois en nombres arabes avec Python
J'utilise tox et Python 3.3 avec Travis-CI
Exemple de conversion en ondelettes d'images en Python
Formater et afficher des données de séries chronologiques avec différentes échelles et unités avec Python ou Matplotlib
[Python] Créer une liste de date et d'heure (type datetime) pour une certaine période
Exécuter du SQL brut avec redash à l'aide de la source de données Python et afficher le résultat
Convertir les données csv, tsv en une matrice avec MovieLens en utilisant python comme exemple
Python datetime Comment calculer des dates et convertir des chaînes strftime, strptime [Definitive Edition]
Trois choses auxquelles j'étais accro lors de l'utilisation de Python et MySQL avec Docker
Grattage de la nourriture avec python et sortie en CSV
MessagePack-Try pour lier Java et Python avec RPC
Conversion DICOM en PNG avec ordre croissant et décroissant
Convertir un PDF en image (JPEG / PNG) avec Python
Convertir le «nombre» de date Excel en date / heure Python
Convertissez des PDF en images en masse avec Python
Afficher de manière interactive des courbes algébriques en Python, Jupyter
Convertir un fichier svg en png / ico avec Python
Convertir les valeurs d'époque Windows à ce jour avec python
Comment mesurer le temps d'exécution avec Python Partie 1
[Python3] Lecture et écriture avec isoformat datetime avec json
Convertir STL en maillage Voxel à l'aide de Python VTK
Comment convertir (32,32,3) en tenseur à 4 dimensions (1,32,32,1) avec le type ndarray
Comment gérer le type datetime dans sqlite3 de python
[Python] Type de classe et utilisation du module datetime
[Python] Comment comparer la date / heure avec le fuseau horaire ajouté
Comment mesurer le temps d'exécution avec Python, partie 2
Convertir une chaîne au format de liste caractère par caractère avec python
J'ai créé un programme pour convertir des images en art ASCII avec Python et OpenCV