1 计算日期差几天
from datetime import datetime
a = '2019'
b = '6'
c = '26'
if __name__ == '__main__':
cur_day = datetime(int(a), int(b), int(c))
next_day = datetime(2019, 7, 31)
print((next_day - cur_day).days) # 1
print("ok")
2.日期加减几天/几月/几年
from dateutil.relativedelta import relativedelta
import datetime
s_time= datetime.datetime.now()
print(s_time) # 2020-04-27 20:55:35.117521
#减一个月
stMonth = (s_time - relativedelta(months=1))
print(stMonth) # 2020-03-27 20:55:35.117521
stMonth = (s_time - relativedelta(years=1))
stMonth = (s_time - relativedelta(months=1))
stMonth = (s_time - relativedelta(days=1))
stMonth = (s_time - relativedelta(weeks=1))
stMonth = (s_time - relativedelta(hours=1))
stMonth = (s_time - relativedelta(minutes=1))
stMonth = (s_time - relativedelta(seconds=1))
3. 知道年份和周次,计算属于当年的日期
import pandas as pd
import time,datetime
from isoweek import Week
from isoweek import Week
w = Week(2021, 10)#年份,周次=当前周次-1
print ("Week %s starts on %s" % (w, w.monday()))
print ("Current week number is", Week.thisweek().week)
a = w.monday()-datetime.timedelta(days=1)
delta = datetime.timedelta(days=1)#转成:周日为一周的第一天
print ((a-delta).strftime('%Y/%m/%d'))#日期格式转换
4. 日期去掉时分秒显示
5. 生成日期序列
pd.date_range(start=None,end=None,periods=None,
freq=None,tz=None,normalize=False,name=None,
close=None,**kwargs)
参数解释:
start:日期序列开始日期
end:日期序列结束日期
periods:生成多少个数
freq:生成日期的频率。天-D,月-M,年-Y,S-秒,H-时,T-分钟,季度-Q
6. 从日期数据中提取成分
pd.to_datetime('20200307').month
#year:日
#month:月
#week:周
#day:日
pd.to_datetime('20200101').strftime('%Y-%m')
7. 日期去掉时分秒
pd.to_datetime().dt.normalize()