Code: Select all
import pandas as pd
from pandas.tseries.offsets import MonthEnd, MonthBegin
date_ = pd.to_datetime('20240601')
print(date_ + MonthBegin(0)) # 2024-06-01 00:00:00
print(date_ - MonthBegin(0)) # 2024-06-01 00:00:00
print(date_ + MonthBegin(1)) # 2024-07-01 00:00:00, different from `+ MonthBegin(0)`
print(date_ - MonthBegin(1)) # 2024-05-01 00:00:00
print(date_ + MonthEnd(0)) # 2024-06-30 00:00:00
print(date_ - MonthEnd(0)) # 2024-06-30 00:00:00
print(date_ + MonthEnd(1)) # 2024-06-30 00:00:00, same with `+ MonthEnd(0)`
print(date_ - MonthEnd(1)) # 2024-05-31 00:00:00
print('\n')
date_ = pd.to_datetime('20240615')
print(date_ + MonthBegin(0)) # 2024-07-01 00:00:00
print(date_ - MonthBegin(0)) # 2024-07-01 00:00:00
print(date_ + MonthBegin(1)) # 2024-07-01 00:00:00, same with `+ MonthBegin(0)`
print(date_ - MonthBegin(1)) # 2024-06-01 00:00:00
print(date_ + MonthEnd(0)) # 2024-06-30 00:00:00
print(date_ - MonthEnd(0)) # 2024-06-30 00:00:00
print(date_ + MonthEnd(1)) # 2024-06-30 00:00:00, same with `+ MonthEnd(0)`
print(date_ - MonthEnd(1)) # 2024-05-31 00:00:00
print('\n')
date_ = pd.to_datetime('20240630')
print(date_ + MonthBegin(0)) # 2024-07-01 00:00:00
print(date_ - MonthBegin(0)) # 2024-07-01 00:00:00
print(date_ + MonthBegin(1)) # 2024-07-01 00:00:00, same with `+ MonthBegin(0)`
print(date_ - MonthBegin(1)) # 2024-06-01 00:00:00
print(date_ + MonthEnd(0)) # 2024-06-30 00:00:00
print(date_ - MonthEnd(0)) # 2024-06-30 00:00:00
print(date_ + MonthEnd(1)) # 2024-07-31 00:00:00, different from `+ MonthEnd(0)`
print(date_ - MonthEnd(1)) # 2024-05-31 00:00:00
Code: Select all
for date_ in ['20240601', '20240615' ,'20240630']:
# In a sentence, `n==0` indicates this month, `n==-1` means the previous month and `n==1` means the next month.
date_= pd.to_datetime(date_)
print(date_ + MonthBegin(0)) # == 2024-06-01 00:00:00
print(date_ - MonthBegin(0)) # == 2024-06-01 00:00:00
print(date_ + MonthBegin(1)) # == 2024-07-01 00:00:00
print(date_ - MonthBegin(1)) # == 2024-05-01 00:00:00
print(date_ + MonthEnd(0)) # == 2024-06-30 00:00:00
print(date_ - MonthEnd(0)) # == 2024-06-30 00:00:00
print(date_ + MonthEnd(1)) # == 2024-07-31 00:00:00
print(date_ - MonthEnd(1)) # == 2024-05-31 00:00:00