Compte tenu de la string
dans ce format "HH:MM"
par exemple "03:55"
qui représente 3 heures et 55 minutes .
Je veux le convertir en datetime.time
pour une manipulation plus facile. Quel serait le moyen le plus simple de le faire ?
Compte tenu de la string
dans ce format "HH:MM"
par exemple "03:55"
qui représente 3 heures et 55 minutes .
Je veux le convertir en datetime.time
pour une manipulation plus facile. Quel serait le moyen le plus simple de le faire ?
Utilisez datetime.datetime.strptime()
et appeler .time()
sur le résultat :
>>> datetime.datetime.strptime('03:55', '%H:%M').time()
datetime.time(3, 55)
Le premier argument de .strptime()
est la chaîne à analyser, la seconde est le format attendu.
C'est peut-être moins clair pour les futurs lecteurs, mais la *map
est plus de 10 fois plus rapide. Voyez ci-dessous et prenez une décision éclairée dans votre code. Si vous appelez ce contrôle plusieurs fois et que la vitesse est importante, choisissez le générateur ("map").
In [31]: timeit(datetime.strptime('15:00', '%H:%M').time())
7.76 µs ± 111 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
In [28]: timeit(dtime(*map(int, SHUTDOWN_AT.split(':'))))
696 ns ± 11.5 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.