Hướng dẫn how do i subtract a month from a date in python? - làm cách nào để trừ một tháng cho một ngày trong python?

Hướng dẫn how do i subtract a month from a date in python? - làm cách nào để trừ một tháng cho một ngày 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 ().

Làm thế nào để bạn trừ đi một tháng trong Python?

Cách dễ nhất để trừ tháng kể từ một ngày ở Python là sử dụng phần mở rộng DateUtil. Đối tượng tương đối từ ngày DateUtil. Mô -đun tương đối cho phép bạn trừ bất kỳ số tháng nào từ một đối tượng ngày.use the dateutil extension. The relativedelta object from the dateutil. relativedelta module allows you to subtract any number of months from a date object.

Làm thế nào để gấu trúc trừ tháng?

Trừ các tháng kể từ ngày hiện tại trong Python sử dụng gấu trúc cung cấp một ngày học lớp, để lưu trữ thời lượng hoặc thông tin 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.Pandas 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 the current date.

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

Làm thế nào để bạn trích xuất tháng và năm kể từ một ngày ở Python ?..
Bước 1.Chuyển đổi cột thành DateTime: DF ['EarrivalDate'] = pd.to_dateTime (df ['estrangyDate'], format = '%y-%m-%d').
Bước 2.Trích xuất năm hoặc tháng bằng phương thức DatetimeIndex () PD.DateTimeIndex (DF ['EarrivalDate']).năm..

Làm thế nào để tôi có được sự khác biệt tháng giữa hai ngày 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.