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
经验分享 程序员 微信小程序 职场和发展