Python | datetime.timedelta() funkce

Krajta timedelta() funkce je přítomna pod datetime knihovna který se obecně používá pro výpočet rozdílů v datech a také může být použit pro manipulaci s datem v Pythonu. Je to jeden z nejjednodušších způsobů, jak provádět manipulace s datem.

Syntaxe: datetime.timedelta(dny=0, sekundy=0, mikrosekundy=0, milisekundy=0, minuty=0, hodiny=0, týdny=0)
Vrátí: datum

Kód #1:

Python3




# Timedelta function demonstration> from> datetime> import> datetime, timedelta> # Using current time> ini_time_for_now> => datetime.now()> # printing initial_date> print> ('initial_date',> str> (ini_time_for_now))> # Calculating future dates> # for two years> future_date_after_2yrs> => ini_time_for_now> +> > > timedelta(days> => 730> )> future_date_after_2days> => ini_time_for_now> +> > > timedelta(days> => 2> )> # printing calculated future_dates> print> (> 'future_date_after_2yrs:'> ,> str> (future_date_after_2yrs))> print> (> 'future_date_after_2days:'> ,> str> (future_date_after_2days))>

Výstup:

initial_date 2019-02-27 12:41:45.018389 future_date_after_2yrs: 2021-02-26 12:41:45.018389 future_date_after_2days: 2019-03-01 12:41:45.018389 

Kód #2:

Python3




# Timedelta function demonstration> from> datetime> import> datetime, timedelta> # Using current time> ini_time_for_now> => datetime.now()> # printing initial_date> print> (> 'initial_date:'> ,> str> (ini_time_for_now))> # Calculating past dates> # for two years> past_date_before_2yrs> => ini_time_for_now> -> > > timedelta(days> => 730> )> # for two hours> past_date_before_2hours> => ini_time_for_now> -> > > timedelta(hours> => 2> )> # printing calculated past_dates> print> (> 'past_date_before_2yrs:'> ,> str> (past_date_before_2yrs))> print> (> 'past_date_before_2hours:'> ,> str> (past_date_before_2hours))>

Výstup:

initial_date 2019-02-27 12:41:46.104662 past_date_before_2yrs: 2017-02-27 12:41:46.104662 past_date_after_2days: 2019-02-27 10:41:46.104662 

Kód #3:

Python3




# Timedelta function demonstration> from> datetime> import> datetime, timedelta> # Using current time> ini_time_for_now> => datetime.now()> # printing initial_date> print> ('initial_date',> str> (ini_time_for_now))> # Some another datetime> new_final_time> => ini_time_for_now> +> > > timedelta(days> => 2> )> # printing new final_date> print> ('new_final_time',> str> (new_final_time))> # printing calculated past_dates> print> (> 'Time difference:'> ,> str> (new_final_time> -> > > ini_time_for_now))>

Výstup:

initial_date 2019-02-27 12:41:47.386595 new_final_time 2019-03-01 12:41:47.386595 Time difference: 2 days, 0:00:00 

Odečtení objektu timedelta od objektu data nebo datetime:

Přístup:

Vytvořte objekt timedelta s požadovaným časovým rozdílem.
Odečtěte objekt timedelta od objektu data nebo datetime pomocí operátoru –.

Python3




import> datetime> today> => datetime.date.today()> three_days_ago> => today> -> datetime.timedelta(days> => 3> )> print> (> 'Today:'> , today)> print> (> 'Three days ago:'> , three_days_ago)>

Výstup

Today: 2023-03-24 Three days ago: 2023-03-21 

Časová složitost : O(1)
Pomocný prostor: O(1)