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 đó, 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, Để 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. Hãy để hiểu với một ví dụ, Trừ 20 tháng đến một ngày ở Python Đầu raTrừ những tháng kể từ một ngày ở Python sử dụng Relativeselta
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.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]
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, 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, Để 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. Hãy để hiểu với một ví dụ, Trừ 20 tháng kể từ ngày hiện tại trong PythonTrừ các tháng kể từ ngày hiện tại trong Python sử dụng Relativeselta
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.
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.