Hướng dẫn how do you subtract months in python? - làm thế nào để bạn trừ 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 để trừ các tháng kể từ 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 trừ n tháng từ nó 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 trừ n tháng kể từ ngày nhất định. Hãy để xem cách làm điều đó,

Trừ những tháng kể từ một ngày ở Python 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

Để trừ n tháng kể từ một ngày nhất định, hãy tạo một đối tượng REMIVENTELTA đại diện cho khoảng n tháng và sau đó trừ đi từ đối tượng DateTime để có được ngày cuối cùng.relativedelta object representing the interval of N months and then subtract that from the datetime object to get the final date.

Các bước để trừ n tháng kể từ ngày 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. Đối với điều đó, hãy vượt qua các tháng đối số với giá trị n trong hàm tạo RelativeSelta.Step 3: Trừ đối tượng RelativeSelta từ đối tượng DateTime. Nó sẽ cung cấp cho chúng tôi một điểm đối tượng DateTime đến một ngày, tức là n tháng trước ngày đã cho. 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 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.
Step 2: 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.
Step 3: Subtract the relativedelta object from the datetime object. It will give us a datetime object point to a date i.e. N months before the given date.
Step 4: 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ụ,

Trừ 20 tháng đến một ngày ở 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)

# Subtract 20 months from a given datetime object
n = 20
past_date = dtObj - relativedelta(months=n)

print('Past Date: ', past_date)
print('Past Date: ', past_date.date())

# Convert datetime object to string in required format
past_date_str = past_date.strftime(date_format)
print('Past Date as string object: ', past_date_str)

Đầu ra

Give Date:  21/1/2021
Past Date:  2019-05-21 00:00:00        
Past Date:  2019-05-21
Past Date as string object:  21/05/2019

Chúng tôi đã trừ 20 tháng trong ngày 2121/1/2021 để làm cho nó là2121/05/2019.

Khi chúng tôi trừ đi tương đối (thời lượng 20 tháng) từ đố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 ().

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 để trừ n tháng kể từ ngày.provide a class 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 subtract N months from a date.

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

Trừ 20 tháng đến một ngày ở 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)

# Subtract 10 months from a given datetime object
n = 10
past_date = dtObj - pd.DateOffset(months=n)

print('Past Date: ', past_date)
print('Past Date: ', past_date.date())

# Convert datetime object to string in required format
past_date_str = past_date.strftime(date_format)
print('Past Date as string object: ', past_date_str)

Đầu ra

Give Date:  1/21/2021
Past Date:  2020-03-21 00:00:00        
Past Date:  2020-03-21
Past Date as string object:  03/21/2020

Chúng tôi đã trừ 20 tháng trong ngày 2121/1/2021 để làm cho nó là2121/05/2019.

Summary:

Khi chúng tôi trừ đi tương đối (thời lượng 20 tháng) từ đố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 ().

Trong artilce này, chúng tôi sẽ thảo luận về các cách khác nhau để trừ các tháng kể từ ngày hiện tại ở Python.

Trong Python, chúng ta có thể nhận được ngày địa phương và dấu thời gian hiện tại làm đối tượng DateTime bằng cách sử dụng DateTime.Today (). Bây giờ giả sử chúng tôi muốn trừ n tháng kể từ ngày hiện tại và nhận được ngày qua là chuỗi. Hãy để xem cách làm điều đó,datetime.today(). Now suppose we want to subtract N months from the current date and get the past date as string. Let’s see how to do that,

Trừ các tháng kể từ ngày hiện tại trong Python 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

Để trừ n tháng kể từ ngày hiện tại, hãy nhận ngày hiện tại làm đối tượng DateTime. Sau đó, tạo một đối tượng tương đối, đại diện cho khoảng N tháng và sau đó trừ đi từ đối tượng DateTime ngày hiện tại để có được ngày qua.

Các bước để trừ n tháng kể từ ngày hiện tại 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. Đối với điều đó, hãy vượt qua các tháng đối số với giá trị n trong hàm tạo RelativeSelta.Step 3: Trừ đối tượng RelativeSelta từ đối tượng DateTime được trả về bởi DateTime.Today (). Nó sẽ cung cấp cho chúng tôi một đối tượng DateTime trỏ đến một ngày qua, tức là n tháng trước ngày hiện tại. 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 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.
Step 2: 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.
Step 3: Subtract the relativedelta object from the datetime object returned by datetime.today(). It will give us a datetime object pointing to a past date i.e. N months before the current date.
Step 4: 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ụ,

Trừ 20 tháng kể từ ngày hiện tại trong Python

from datetime import datetime
from dateutil.relativedelta import relativedelta

current_date = datetime.today()
print('Current Date: ', current_date)

# Subtract 20 months from current date
n = 20
past_date = current_date - relativedelta(months=n)

print('Date - 20 months before current date: ', past_date)
print('Date - 20 months before current date: ', past_date.date())

# Convert datetime object to string in required format
date_format = '%m/%d/%Y'
past_date_str = past_date.strftime(date_format)
print('Date (as string) - 20 months before current date: ', past_date_str)

Đầu ra

Current Date:  2021-06-12 19:11:34.550567
Date - 20 months before current date:  2019-10-12 19:11:34.550567
Date - 20 months before current date:  2019-10-12
Date (as string) - 20 months before current date:  10/12/2019 

Vì ngày hôm nay là ngày 2021-06-12 và chúng tôi đã trừ 20 tháng kể từ đó, ngày cuối cùng trở thành 2019-10-12.

Khi chúng tôi trừ đi tương đối (thời lượng 20 tháng) từ đối tượng DateTime có chứa ngày hôm nay, do đó, nó đã trả về một đối tượng DateTime mới chỉ vào ngày qua, tức là 20 tháng trước ngày hôm nay. 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 ().

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 để trừ n tháng kể từ ngày hiện tại.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 subtract N months from the current date.

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

Trừ 20 tháng kể từ ngày hiện tại trong Python

from datetime import datetime
import pandas as pd

current_date = datetime.today()
print('Current Date: ', current_date)

# Subtract 10 months from current date
n = 10
past_date = current_date - pd.DateOffset(months=n)

print('Date - 10 months before current date: ', past_date)
print('Date - 10 months before current date: ', past_date.date())

# Convert datetime object to string in required format
date_format = '%m/%d/%Y'
past_date_str = past_date.strftime(date_format)
print('Date (as string) - 10 months before current date: ', past_date_str)

Đầu ra

Current Date:  2021-06-12 19:13:27.632267
Date - 10 months before current date:  2020-08-12 19:13:27.632267
Date - 10 months before current date:  2020-08-12
Date (as string) - 10 months before current date:  08/12/2020  

Vì ngày hôm nay là ngày 2021-06-12 và chúng tôi đã trừ 20 tháng kể từ đó, ngày cuối cùng trở thành 2019-10-12.

Summary:

Chúng tôi đã tìm hiểu về các cách khác nhau để trừ tháng kể từ ngày hiện tại ở Python.

Làm thế nào để bạn trừ tháng và năm?

Thêm hoặc trừ các năm/tháng/ngày riêng biệt..
Thêm một năm = ngày (năm (ngày)+1, tháng (ngày), ngày (ngày)).
Trừ một năm = ngày (năm (ngày) -1, tháng (ngày), ngày (ngày)).
Thêm hai tháng = Edate ((ngày), 2).
Trừ hai tháng = Edate ((ngày),-2).
Thêm ba ngày = (ngày) +3 ..
Trừ ba ngày = (ngày) -3 ..

Làm thế nào để bạn thêm 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 thế nào để tôi tìm thấy sự khác biệt giữa hai tháng trong Python?

Sử dụng tương đốitelta.months + RelativeSelta.Years * 12 Công thức để có được tổng số tháng giữa hai ngày.relativedelta. months + relativedelta. years * 12 formula to get the total months between two dates.

Làm thế nào để bạn trừ ngày trong Python?

Để thêm hoặc trừ ngày, chúng tôi sử dụng một thứ gọi là hàm TimedelTa () có thể được tìm thấy trong lớp DateTime.Nó được sử dụng để thao tác ngày và chúng ta có thể thực hiện các hoạt động số học trên các ngày như thêm hoặc trừ.timedelta() function which can be found under the DateTime class. It is used to manipulate Date, and we can perform arithmetic operations on dates like adding or subtracting.