python中datetime模块详解

一、datetime模块的五大类:

  1. datetime.date:表示日期的类,主要用于处理年、月、日;
  2. datetime.time:表示时间的类,主要用于处理时、分、秒;
  3. datetime.datetime:表示日期时间的类,date类和time类的综合使用,可以处理年、月、日、时、分、秒;
  4. datetime.timedelta:表示时间间隔,即两个时间点的间隔,主要用于做时间加减的
  5. datetime.tzinfo:时区的相关信息。

1、date类:

date类包含三个参数,分别为year,month,day,返回格式为year-month-day。
  • 构造方法:

在这里插入图片描述
在这里插入图片描述

  • 类方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、time类

(1)静态方法和属性:可以直接通过类名调用;

  • time.min:time类所能表示的最小时间。
  • time.max:time类所能表示的最大时间。
  • time.resolution:time类表示时间的最小单位,这里是1微秒;
    在这里插入图片描述
    (2)其它常用方法和属性:通过time对象才能调用
#  先构造一个time对象
t=time(10,58,59)

"属性"
t.hour、t.minute、t.second、t.microsecond:时、分、秒、微秒;

"方法"
t.replace(hour=,minute=,second=,microsecond=):生成一个新的时间对象,用参数指定的时、分、秒、微秒代替原有对象中的属性。(原有对象仍保持不变)  
t.isoformat():返回型如"HH:MM:SS"格式的字符串时间表示;
t.strftime(format):传入任意格式符,可以输出任意格式的时间表示形式;

3、datetime类的用法

#获取当前的日期,年月份
c=datetime.now().date()
print(c)
#获取每个时间的序列
d=datetime.now().timetuple()
print(d)
#获取月份(tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst)
e=datetime.now().timetuple().tm_mon
print(e)
# 在我们现在的日期里面加入2天,最后打印出来,这里要注意,模块的使用,有优先级的混淆
f=datetime.now().date()+timedelta(days=2)
print(f)
# 在现在的时间里面向后推迟2个小时
g=datetime.now()+timedelta(hours=2)
print(g)

在这里插入图片描述

#  求出上一个月的最后一天日期,就用这个月的第一天减1天,这个里面的参数可以改动,默认为月份初始化天
f=date(day=1,month=date.today().month,year=date.today().year) - timedelta(days=1)
print(f)
#  获取世界时间
g=datetime.utcnow()
print(g)
h=datetime.now()
print(h)
#时差计算
i=h-g
print(i)

在这里插入图片描述

j=datetime.now().strftime("%Y-%m-%d %H:%M:%S")#时间类型转为字符串类型
k=datetime.now()#时间类型
print(type(j))#显示类型
print(type(k))
print(j,end=";")
print(k)

在这里插入图片描述

# 字符串转为时间类型
l=datetime.strptime("2020-08-18 16:58:46","%Y-%m-%d %H:%M:%S")
print(l)
# 返回这个日期是多少年,第几周,第几天
m=datetime.now().isocalendar()
print(m)

在这里插入图片描述

input_date_str=input('请输入一个日期: ')
# 把输入的时间转换为时间类型
input_date=datetime.strptime(input_date_str,'%Y-%m-%d')
# 利用date.strftime("%j")  计算这个是第几天
days=int(input_date.strftime("%j"))
print(input_date_str+'是一年中的第 '+str(days)+' 天')

在这里插入图片描述

print(datetime.now().timestamp())	# 时间戳的计算是从1900年1月1日0点开始的, 显示的数值单位为秒
print(datetime.fromtimestamp(1564229940.623349))	#时间戳转化为日期时间

在这里插入图片描述
并非原创,从其他博客中复制的,方便后期查询。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值