蓝桥杯基础-python datetime模块的使用

datetime模块简介

datetime模块是python自带的模块,在蓝桥杯比赛中可以直接调用,datetime模块提供了操作日期和时间功能, 该模块提供了五种核心对象:datetime(时间日期类型), date(日期类型), time(时间类型), tzinfo(时区类型), timedelta(时间差类型).

datetime 对象

datetime对象可以用来表示精确的日期和时间,其实例化方法如下

import datetime
today = datetime.datetime(year=2022,month = 9,day=21)
print(today)

print(today.year) #返回datetime对象中年份

print(today.month) #返回datetime对象中月份

print(today.day) #返回datetime对象中天

print(today.now()) # 返回当前时间

运行结果

在实例化datetime对象时,year, month, day是必填项,hour, minute, second, microsecond(微秒), tzinfo(时区)是可选项。

 date对象

date对象和datetime对象的区别在于,date对象只能表示日期,不能表示时间(即其精确度为天)。date实例化时须要且仅须要三个参数:year, month, day。date对象是没有时区(tzinfo)属性的。

import datetime
today = datetime.date(year=2022,month = 9,day=21)
print(today)

print(today.year) #返回datetime对象中年份

print(today.month) #返回datetime对象中月份

print(today.day) #返回datetime对象中天

#print(today.now()) # 返回当前时间(没有这个属性)

time对象

和date对象相反,time对象只能用来表示时间,而不能用来表示日期。time对象所表示的时间可以精确到微秒,而且可以具有时区(tzinfo)属性。

import datetime  
now_time = datetime.time(hour=16, minute=9, second=10) # hours, minute, second,microsecond, tzinfo都是可选参数
print(now_time)
print(now_time.hour)

运行结果

 这里要注意,python中还有另外一个模块我们经常用到的模块:time,这个模块也含有用来表示时间、日期对象的函数,但因为该模块下的函数都是对同名C函数的直接调用,所以返回的对象都不太pythonic,所以我们一般不用,经常使用的就两个函数:time.sleep(), time.time()

time.sleep()和time.time()的使用如下

import time
print(time.time()) #返回当前时间戳

time.sleep(8) #程序进入睡眠8s

运行结果

 timedelta对象

timedelta对象表示一个时间段,timedelta对象可以通过手动实例化得到,也可以通过上述三个对象(datetime, date, time)相减得到。

from datetime import datetime,timedelta
now = datetime.now()
last = datetime(year=2022,month=9,day=21,hour=16,minute=23)
delta = now - last
print(delta)
if delta + last == now:
    print('yes')
else:
    print('on')
    
#直接实例化timedelta
delta2 = timedelta(days=2)
date2 = now - delta2
print(date2)

运行结果

手动实例化timedelta时,可以传入的参数有:days, seconds, microseconds, milliseconds, minutes, hours, weeks。

tzinfo对象一般用不到就不解释了

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值