Uwaga: w Pythonie 3 musisz przejść strefę czasową, aby now()uniknąć błędu związanego z odejmowaniem czasów danych naiwnych i uwzględniających offset:datetime.datetime.now(datetime.timezone.utc)
nornagon
1
@nornagon, które w ogóle nie ma tutaj zastosowania; nie ma znaczenia, czy obiekt daty i godziny jest świadomy czy naiwny, odejmowanie timedelta działa niezależnie.
Odpowiedzi:
zaimportuj datetime, a następnie magiczne timedelta:
źródło
now()
uniknąć błędu związanego z odejmowaniem czasów danych naiwnych i uwzględniających offset:datetime.datetime.now(datetime.timezone.utc)
źródło
Oto co należy zrobić:
timedelta
s są specjalnie zaprojektowane, aby umożliwić odejmowanie lub dodawanie delt (różnic) dodatetime
s.źródło
źródło
timedelta
ale potem używaszdatetime
atrybutów. Zaimportuj moduł lub dodaj typ.Podałem dwie metody robienia tego przez minuty, a także lata i godziny, jeśli chcesz zobaczyć więcej przykładów:
Otrzymuję następujące wyniki:
źródło
Użyj DateTime oprócz
timedelta
obiektu http://docs.python.org/library/datetime.htmldatetime.datetime.now()-datetime.timedelta(minutes=15)
źródło
datetime.datetime.now() - datetime.timedelta(0, 15 * 60)
timedelta
to „zmiana w czasie”. Potrzeba dni jako pierwszego parametru i sekund w drugim parametrze.15 * 60
sekund to 15 minut.źródło
Jeśli używasz
time.time()
i chcesz mieć znacznik czasu jako dane wyjściowePo prostu użyj
Możesz zmienić 900 sekund zgodnie z wymaganym czasem.
źródło
tylko poniższy kod w Pythonie 3.7 działał dla mnie
źródło