Hướng dẫn how do you add months in python? - làm thế nào để bạn thêm tháng trong python?

Trong artilce này, chúng tôi sẽ thảo luận về các cách khác nhau để thêm tháng vào một ngày nhất định ở Python.

Giả sử chúng ta có một ngày2121/1/2021 và chúng ta muốn thêm n tháng vào đó và n có thể là 1, 20, 50 hoặc bất kỳ số nào khác. Chúng tôi muốn ngày cuối cùng sau khi thêm n tháng vào ngày nhất định. Hãy để xem cách làm điều đó,

Thêm tháng vào một ngày trong Python bằng cách sử dụng Relativeselta

Trong Python, mô -đun DateUtil cung cấp một lớp tương đối, đại diện cho một khoảng thời gian. Lớp tương đối đượcdateutil module provides a class relativedelta, which represents an interval of time. The relativedelta class has following attributes which tells about the duration,

  • Năm
  • Tháng
  • Ngày
  • Giờ
  • Phút
  • Giây
  • Micro giây

Để thêm n tháng vào một ngày nhất định, hãy tạo một đối tượng REMIVENTELTA đại diện cho khoảng thời gian N tháng và sau đó thêm nó vào đối tượng DateTime để có được ngày cuối cùng.

Các bước chi tiết để thêm n tháng cho đến nay như sau,

Quảng cáo

  • Bước 1: Nếu ngày đã cho ở định dạng chuỗi, thì chúng ta cần chuyển đổi nó thành đối tượng DateTime. Cho rằng chúng ta có thể sử dụng hàm DateTime.strptime (). Trong khi đó, nếu ngày đã cho đã là một đối tượng DateTime, thì bạn có thể bỏ qua bước này. If the given date is in a string format, then we need to convert it to the datetime object. For that we can use the datetime.strptime() function. Whereas, if the given date is already a datetime object, then you can skip this step.
  • Bước 2: Tạo một đối tượng của tương đối, để biểu thị khoảng n tháng. Đối với điều đó, vượt qua các tháng đối số với giá trị n trong hàm tạo tương đối.Create an object of relativedelta, to represent an interval of N months. For that, pass the argument months with value N in the relativedelta constructor.
  • Bước 3: Thêm đối tượng RelativeSelta vào đối tượng DateTime. Nó sẽ cung cấp cho chúng ta một điểm đối tượng DateTime đến một ngày, tức là n tháng sau ngày đã cho.Add the relativedelta object to the datetime object. It will give us a datetime object point to a date i.e. N months after the given date.
  • Bước 4: Nếu bạn muốn ngày cuối cùng ở định dạng chuỗi, thì hãy chuyển đổi đối tượng DateTime thành chuỗi bằng cách sử dụng strftime (). Bạn có thể chuyển chuỗi định dạng làm đối số và nó sẽ chuyển đổi đối tượng DateTime thành một chuỗi của định dạng được chỉ định. If you want the final date in string format, then convert the datetime object to string using strftime(). You can pass the format string as argument and it will convert the datetime object to a string of the specified format.

Hãy để hiểu với một ví dụ,

Thêm 20 tháng vào một ngày trong Python

from datetime import datetime
from dateutil.relativedelta import relativedelta

given_date = '21/1/2021'
print('Give Date: ', given_date)

date_format = '%d/%m/%Y'
dtObj = datetime.strptime(given_date, date_format)

# Add 20 months to a given datetime object
n = 20
future_date = dtObj + relativedelta(months=n)

print('Date after 20 months: ', future_date)
print('Date after 20 months: ', future_date.date())

# Convert datetime object to string in required format
future_date_str = future_date.strftime(date_format)
print('Date after 20 months (as string): ', future_date_str)

Đầu ra

Give Date:  21/1/2021
Date after 20 months:  2022-09-21 00:00:00   
Date after 20 months:  2022-09-21
Date after 20 months (as string):  21/09/2022

Chúng tôi đã thêm 20 tháng vào ngày2121/1/2021 để làm cho nó là2121/09/2022.

Khi chúng tôi thêm tương đối (thời lượng 20 tháng) vào đối tượng DateTime, do đó, nó đã trả về một đối tượng DateTime mới chỉ vào ngày cuối cùng. Vì đối tượng DateTime cũng có dấu thời gian, do đó nó cũng được in. Nếu bạn chỉ muốn ngày, thì bạn có thể lấy đối tượng ngày từ đối tượng DateTime bằng hàm Date (), giống như chúng tôi đã làm trong ví dụ trên. Cuối cùng, chúng tôi đã chuyển đổi đối tượng DateTime thành định dạng chuỗi cần thiết bằng cách sử dụng DateTime.strftime ().

Thêm tháng vào một ngày trong Python bằng gấu trúc

Pandas cung cấp một ngày học lớp, để lưu trữ thông tin thời lượng hoặc khoảng. Nó chủ yếu được sử dụng để tăng hoặc giảm dấu thời gian. Nó có thể được sử dụng với mô -đun DateTime để thêm n tháng vào một ngày.DateOffset, to store the duration or interval information. It is mostly used to increment or decrement a timestamp. It can be used with datetime module to to add N months to a date.

Hãy để hiểu với một ví dụ,

Thêm 20 tháng vào một ngày trong Python

from datetime import datetime
import pandas as pd

given_date = '1/21/2021'
print('Give Date: ', given_date)

# Convert date string to datetime object
date_format = '%m/%d/%Y'
dtObj = datetime.strptime(given_date, date_format)

# Add 10 months to a given datetime object
n = 10
future_date = dtObj + pd.DateOffset(months=n)

print('Date after 10 months: ', future_date)
print('Date after 10 months: ', future_date.date())

# Convert datetime object to string in required format
future_date_str = future_date.strftime(date_format)
print('Date after 10 months (as string): ', future_date_str)

Đầu ra

Give Date:  1/21/2021
Date after 10 months:  2021-11-21 00:00:00   
Date after 10 months:  2021-11-21
Date after 10 months (as string):  11/21/2021

Chúng tôi đã thêm 20 tháng vào ngày2121/1/2021 để làm cho nó là2121/09/2022.

Summary:

Khi chúng tôi thêm tương đối (thời lượng 20 tháng) vào đối tượng DateTime, do đó, nó đã trả về một đối tượng DateTime mới chỉ vào ngày cuối cùng. Vì đối tượng DateTime cũng có dấu thời gian, do đó nó cũng được in. Nếu bạn chỉ muốn ngày, thì bạn có thể lấy đối tượng ngày từ đối tượng DateTime bằng hàm Date (), giống như chúng tôi đã làm trong ví dụ trên. Cuối cùng, chúng tôi đã chuyển đổi đối tượng DateTime thành định dạng chuỗi cần thiết bằng cách sử dụng DateTime.strftime ().

Thêm tháng vào ngày hiện tại trong Python #

Để thêm tháng vào ngày hiện tại trong Python:

  1. Sử dụng phương thức datetime.now() để có được ngày và giờ địa phương hiện tại.
  2. Tạo một đối tượng relativedelta bằng cách chuyển số tháng cho lớp relativedelta.
  3. Tổng hợp ngày hiện tại và đối tượng relativedelta.

Copied!

from datetime import datetime from dateutil.relativedelta import relativedelta now = datetime.now() print(now) # 👉️ 2022-06-22 19:27:37.483564 result = now + relativedelta(months=+3) print(result) # 👉️ 2022-09-22 19:27:37.483564

Chúng tôi đã sử dụng phương thức DateTime. Bây giờ để có được ngày và giờ địa phương hiện tại.

Đảm bảo nhập các lớp relativedelta

Give Date:  21/1/2021
Date after 20 months:  2022-09-21 00:00:00   
Date after 20 months:  2022-09-21
Date after 20 months (as string):  21/09/2022
3.

Nếu bạn không cài đặt mô -đun

Give Date:  21/1/2021
Date after 20 months:  2022-09-21 00:00:00   
Date after 20 months:  2022-09-21
Date after 20 months (as string):  21/09/2022
4, hãy chạy lệnh sau:

Copied!

pip install python-dateutil

Lưu ý rằng chúng tôi đã có tiền tố số tháng với cộng với

Give Date:  21/1/2021
Date after 20 months:  2022-09-21 00:00:00   
Date after 20 months:  2022-09-21
Date after 20 months (as string):  21/09/2022
5 để chỉ ra rằng chúng tôi muốn thêm số tháng được chỉ định.

Lớp relativedelta tự động xử lý tháng với số ngày khác nhau và thêm một tháng không bao giờ vượt qua ranh giới tháng.

Nếu cần thiết, năm sẽ được cuộn tự động (ví dụ: thêm 6 tháng vào một ngày vào tháng Chín).

Nếu bạn chỉ cần trích xuất ngày sau khi hoạt động, hãy gọi phương thức

Give Date:  21/1/2021
Date after 20 months:  2022-09-21 00:00:00   
Date after 20 months:  2022-09-21
Date after 20 months (as string):  21/09/2022
7 trên đối tượng
Give Date:  21/1/2021
Date after 20 months:  2022-09-21 00:00:00   
Date after 20 months:  2022-09-21
Date after 20 months (as string):  21/09/2022
3.

Copied!

from datetime import datetime from dateutil.relativedelta import relativedelta now = datetime.now() print(now) # 👉️ 2022-06-22 19:27:37.483564 result = now + relativedelta(months=+3) print(result) # 👉️ 2022-09-22 19:27:37.483564 # 👇️ only extract updated date print(result.date()) # 👉️ 2022-09-22

Phương thức DateTime.Date trả về một đối tượng ngày với cùng năm, tháng và ngày.

Nếu bạn cần định dạng ngày theo một cách nhất định, hãy sử dụng một chuỗi được định dạng theo nghĩa đen.

Copied!

from datetime import datetime from dateutil.relativedelta import relativedelta now = datetime.now() print(now) # 👉️ 2022-06-22 19:34:48.991786 result = now + relativedelta(months=+5) print(result) # 👉️ 2022-11-22 19:34:48.991786 # 👇️ only extract updated date print(result.date()) # 👉️ 2022-11-22 print(f'{result:%Y-%m-%d %H:%M:%S}') # 👉️ 2022-11-22 19:34:48

Các chuỗi chữ được định dạng (F-Strings) Hãy cho chúng tôi bao gồm các biểu thức bên trong chuỗi bằng cách tiền tố chuỗi với

Give Date:  21/1/2021
Date after 20 months:  2022-09-21 00:00:00   
Date after 20 months:  2022-09-21
Date after 20 months (as string):  21/09/2022
9.

Hãy chắc chắn để bọc các biểu thức trong niềng răng xoăn -

from datetime import datetime
import pandas as pd

given_date = '1/21/2021'
print('Give Date: ', given_date)

# Convert date string to datetime object
date_format = '%m/%d/%Y'
dtObj = datetime.strptime(given_date, date_format)

# Add 10 months to a given datetime object
n = 10
future_date = dtObj + pd.DateOffset(months=n)

print('Date after 10 months: ', future_date)
print('Date after 10 months: ', future_date.date())

# Convert datetime object to string in required format
future_date_str = future_date.strftime(date_format)
print('Date after 10 months (as string): ', future_date_str)
0.

Các chuỗi chữ được định dạng cũng cho phép chúng tôi sử dụng ngôn ngữ nhỏ đặc tả định dạng trong các khối biểu thức.

Làm thế nào để bạn tăng nhiều tháng trong Python?

Phương thức TO_DATETIME () và phương thức pd.DateOfset () được sử dụng để thêm tháng vào đối tượng gấu trúc đã tạo. DateOffset() method is used to add months to the created pandas object.

Làm cách nào để nhận được tháng từ một ngày ở Python?

Phương pháp 1: Sử dụng thuộc tính DatetimeIndex.month để tìm tháng và sử dụng DatetimeIndex.thuộc tính năm để tìm năm hiện tại trong ngày.Use DatetimeIndex. month attribute to find the month and use DatetimeIndex. year attribute to find the year present in the Date.

Làm thế nào để bạn tăng một ngày trong Python?

Sử dụng Syntax Date += Time_Delta trong ngày là ngày ban đầu và Time_Delta là đối tượng từ bước trước, để trả về đối tượng ngày được tăng lên ...
Ngày = DateTime (2020, 2, 20).
Ngày += Timedelta (ngày = 1).
print(date).

Làm thế nào để tôi có được 6 tháng qua trong Python?

1 câu trả lời..
Từ ngày nhập DateTime ..
Từ ngàyTil.Relativingelta Nhập RelativeTelta ..
Six_months = date.today () + Relativingelta (tháng = + 6).
print(six_months).