Home  >  Article  >  Backend Development  >  How to add days to date in Python

How to add days to date in Python

PHPz
PHPzforward
2023-05-17 16:47:22869browse

Use the timedelta() method in the datetime module to add the number of days to the date, for example result_1 = date_1 timedelta(days=3). timedelta The method can be passed a days parameter and adds the specified number of days to the date.

from datetime import datetime, date, timedelta

# ✅ 将天数添加到日期
my_str = '09-24-2023'  # ????️ (mm-dd-yyyy)
date_1 = datetime.strptime(my_str, '%m-%d-%Y')

print(date_1)  # ????️ 2023-09-24 00:00:00

result_1 = date_1 + timedelta(days=3)
print(result_1)  # ????️ 2023-09-27 00:00:00

# -----------------------------------------------

# ✅ 将天数添加到当前日期

current_date = datetime.today()
print(current_date)  # ????️ 2022-06-20 09:42:22.341830

result_2 = current_date + timedelta(days=7)
print(result_2)  # ????️ 2022-06-27 09:43:09.084770


# -----------------------------------------------

# ✅ 使用 date 而不是 datetime

date_3 = date(2023, 9, 24)
print(date_3)  # ????️ 2023-09-24

result_3 = date_3 + timedelta(days=3)
print(result_3)  # ????️ 2023-09-27

# -----------------------------------------------

# ✅ 将天数添加到当前日期(使用 date 而不是 datetime)

date_4 = date.today()
print(date_4)  # ????️ 2022-06-20

result_4 = date_4 + timedelta(days=7)
print(result_4)  # ????️ 2022-06-27

Make sure to import the datetime or date and timedelta classes from the datetime module.

When using this method, the month (and year) will roll over as necessary.

The first example uses the datetime.strptime() method to obtain the datetime object corresponding to the provided date string and parse it according to the specified format.

Once we have the datetime object, we can use the timedelta class to add the number of days.

from datetime import datetime, timedelta
my_str = '09-24-2023'  # ????️ (mm-dd-yyyy)

date_1 = datetime.strptime(my_str, '%m-%d-%Y')
print(date_1)  # ????️ 2023-09-24 00:00:00

result_1 = date_1 + timedelta(days=3)
print(result_1)  # ????️ 2023-09-27 00:00:00

The date string format in the example is mm-dd-yyyy.

If we have a date string formatted differently, use this documentation table to find the format code you should pass as the second argument to the strptime() method.

The second example adds the number of days to the current date.

from datetime import datetime, timedelta
current_date = datetime.today()
print(current_date)  # ????️ 2022-06-20 09:42:22.341830

result_2 = current_date + timedelta(days=7)
print(result_2)  # ????️ 2022-06-27 09:43:09.084770

datetime.today() Method returns the current local date and time.

The third example uses the date() method instead of the datetime method when adding days to a date. The

from datetime import date, timedelta

date_3 = date(2023, 9, 24)
print(date_3)  # ????️ 2023-09-24

result_3 = date_3 + timedelta(days=3)
print(result_3)  # ????️ 2023-09-27

datetime.timedelta method can be passed the number of days we want to add to the date or datetime object.

timedelta The method can pass days, weeks, hours, minutes, seconds, milliseconds and microseconds as parameters.

All parameters are optional and default to 0.

It is best to only use keyword arguments in calls to the timedelta class, as the order of the arguments can be confusing.

If we only need to extract the date after the operation, call the date() method on the datetime object.

from datetime import datetime, timedelta

now = datetime.now()
print(now)  

result = now + timedelta(days=5)
print(result)  

print(result.date())

datetime.date method returns a date object with the same year, month and day.

If we need to format the date in some way, use a formatted string literal.

from datetime import datetime, timedelta

now = datetime.now()
print(now)  

result = now + timedelta(days=6)
print(result)  

print(result.date())  

print(f'{result:%Y-%m-%d %H:%M:%S}')

Formatted string literals (f-strings) Let us include an expression in a string by prefixing it with f.

Make sure to enclose the expression in braces - {expression}.

Formatted string literals also enable us to use the format specification mini-language within expression blocks.

The fourth example adds the number of days to a date object representing the current date. The

from datetime import date, timedelta
date_4 = date.today()
print(date_4) 

result_4 = date_4 + timedelta(days=7)
print(result_4)

date.today method returns a date object representing the current local date.

The above is the detailed content of How to add days to date in Python. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete