TypeError: type (s) d'opérande non pris en charge pour-: Que faire quand'datetime.time'et'atetime.time '

--Environnement --macOS Catalina version 10.15.7 - Python 3.8.5 - pandas 1.1.3

Evénement: TypeError: type (s) d'opérande non pris en charge pour -: 'datetime.time' et'atetime.time '

Je me suis mis en colère quand j'ai soustrait le temps

Traceback (most recent call last):
  File "/Users/mananakai/tryPython/main.py", line 30, in calc_diff
    diff = end - start
TypeError: unsupported operand type(s) for -: 'datetime.time' and 'datetime.time'
def calc_diff(start, end):
    diff = end - start
    print(diff)

Cause: datetime.time et datetime.date ne peuvent pas être calculés tels quels

Il ne peut pas être calculé uniquement avec les informations d'heure (datetime.time) et de date (datetime.date). Les informations de date / heure (datetime.datetime) sont utilisées pour le calcul.

Correspondance: convertir en datetime.datetime et calculer

Le résultat du calcul sera les informations de différence entre les heures (datetime.timedelta).

def calc_diff(start, end):
    today = datetime.date.today()
    d_start = datetime.datetime.combine(today, start)
    d_end = datetime.datetime.combine(today, end)
    diff = d_end - d_start
    print(type(diff)) # >> <class 'datetime.timedelta'>

Recommended Posts

TypeError: type (s) d'opérande non pris en charge pour-: Que faire quand'datetime.time'et'atetime.time '
TypeError: type (s) d'opérande non pris en charge pour /: 'list' et'float '
Que faire lorsque vous déclenchez ValueError, "type de hachage non pris en charge"
[Pour les débutants] Que faire après l'installation d'Anaconda
Que faire si les rails ne fonctionnent pas
Que faire lorsque "TypeError: type de données non compris" apparaît dans numpy.zeros de python
Que faire si Python ne fonctionne pas sur Git pour Windows
Que faire lorsque le type de valeur est ambigu en Python?
Que faire quand Ubuntu plante
Que faire si yum casse
Que faire avec l'installation de Magics
Que faire avec la sortie de PYTHON?
Que faire si PyInstaller3.5 provoque une erreur dans Python3.8 (TypeError: un entier est requis (obtenu les octets de type))
Que faire si aucune documentation Python trouvée pour ... apparaît dans pydoc
Que faire lorsque TypeError se produit au minimum et au maximum de numpy
Après tout, que dois-je utiliser pour faire des comparaisons de types en Python?
Que faire après l'installation de Linux (Ubuntu)
Résumons ce que vous voulez faire.
Que faire si «TypeError: must be string, not int…» apparaît lors de l'utilisation de strptime
Que faire lorsque xlrd.biffh.XLRDError: format non pris en charge ou fichier corrompu: enregistrement BOF attendu;