Python | функція datetime.timedelta().

Python timedelta() функція присутня під бібліотека дати і часу який зазвичай використовується для обчислення різниць у датах, а також може використовуватися для маніпуляцій з датами в Python. Це один із найпростіших способів маніпуляції з датою.

Синтаксис: datetime.timedelta(днів=0, секунд=0, мікросекунд=0, мілісекунд=0, хвилин=0, годин=0, тижнів=0)
Повернення: Дата

Код №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))>

Вихід:

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 

Код №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))>

Вихід:

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 

Код №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))>

Вихід:

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 

Віднімання об’єкта timedelta від об’єкта date або datetime:

Підхід:

Створіть об’єкт timedelta з бажаною різницею в часі.
Відніміть об’єкт timedelta від об’єкта date або datetime за допомогою оператора –.

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)>

Вихід

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

Часова складність : O(1)
Допоміжний простір: О(1)