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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值