Je veux obtenir les secondes qui ont expiré depuis minuit dernier. Quelle est la manière la plus élégante en python?
Il est préférable de faire un seul appel à une fonction qui renvoie la date/heure actuelle:
from datetime import datetime
now = datetime.now()
seconds_since_midnight = (now - now.replace(hour=0, minute=0, second=0, microsecond=0)).total_seconds()
Ou
datetime.now() - datetime.now()
retourner zéro timedelta pour quelqu'un ici?
import datetime
now = datetime.datetime.now()
midnight = now.replace(hour=0, minute=0, second=0, microsecond=0)
seconds = (now - midnight).seconds
ou
import datetime
now = datetime.datetime.now()
midnight = datetime.datetime.combine(now.date(), datetime.time())
seconds = (now - midnight).seconds
Le choix est une question de goût.
Je le ferais comme ça
import datetime
import time
today = datetime.date.today()
seconds_since_midnight = time.time() - time.mktime(today.timetuple())