python用于日期常用的函数
1、strptime
strptime是将一个(时间)字符串解析为时间的一个类型对象,将字符串格式转为日期格式
import datetime time1 = datetime.datetime.strptime(2021-8-11, %Y-%m-%d).date() time2 = datetime.datetime.strptime(2021-8-7, %Y-%m-%d).date() time3 = datetime.datetime.strptime(2021-08-11, %Y-%m-%d).date() time4 = datetime.datetime.strptime(2021-08-07, %Y-%m-%d).date() print(time1) print(time2) print(time3) print(time4) 输出: 2021-08-11 2021-08-07 2021-08-11 2021-08-07
2、strftime
strftime将时间类型数据转换成想要的时间格式
print(datetime.date(2021,12,12).strftime(%Y)==2021) print(datetime.date(2021,12,12).strftime(%m)==12) print(datetime.date(2021,12,12).strftime(%d)==12) print(datetime.date(2021,12,12).strftime(%Y-%m) == 2021-12) print(datetime.date(2021,12,12).strftime(%Y%m) == 202112) print(datetime.date(2021,12,12).strftime(%Y-%m-%d) == 2021-12-12) print(datetime.date(2021,12,12).strftime(%Y%m%d) == 20211212) print(datetime.date(2021,12,12).strftime(%Y-%m-%d %H:%M:%S) == 2021-12-12 00:00:00) 输出: True True True True True True True True
3、timedelta、relativedelta
timedelta、relativedelta函数。timedelta()函数仅支持days和weeks参数,而relativedelta()函数可以支持年 、月、日、周、时、分、秒的参数,后者的功能更加强大,在实际中用到的较多。
import datetime from dateutil.relativedelta import relativedelta now_date = datetime.datetime.now() print (now_date) print(***********) print (now_date - relativedelta(months=24)) #往前两年 print (now_date + relativedelta(months=1)) #往后一个月 print (now_date + relativedelta(years=1)) #往后一年 print (now_date + relativedelta(days=1)) #往后一天 print (now_date + relativedelta(weeks=1)) #往后一周 print (now_date + relativedelta(hours=1)) #往后一小时 print (now_date + relativedelta(minutes=1)) #往后一分钟 print (now_date + relativedelta(seconds=1)) ##往后一秒 print(***********) print (now_date + datetime.timedelta(days=2)) #往后两天 print (now_date + datetime.timedelta(weeks=1)) #往后一周 输出: 2021-12-12 00:49:30.102806 *********** 2019-12-12 00:49:30.102806 2022-01-12 00:49:30.102806 2022-12-12 00:49:30.102806 2021-12-13 00:49:30.102806 2021-12-19 00:49:30.102806 2021-12-12 01:49:30.102806 2021-12-12 00:50:30.102806 2021-12-12 00:49:31.102806 *********** 2021-12-14 00:49:30.102806 2021-12-19 00:49:30.102806
4、isocalendar
python的isocalendar(),isocalendar()返回指定日期的年,第几周,周几这三个值
import datetime date_time = datetime.date(2021,12,12) res = date_time.isocalendar() print (res) 输出: # (2021, 12, 12) # 2012年, 第49周, 周日
5、format
a_1 = 2021
a_2 = 1
print({:04d}{:01d}.format(a_1, a_2))
print({:04d}{:02d}.format(a_1, a_2))
输出:
20211
202101
