[python进阶] 快速上手datetime库

datetime模块

datetime是python处理时间日期的标准库

类名 功能说明
date 日期对象,常用的属性有year, month, day
time 时间对象hour,minute,second,毫秒
datetime 日期时间对象,常用的属性有hour, minute, second, microsecond
timedelta 时间间隔,即两个时间点之间的长度

主要使用: datetime.datetime( ) 、 datetime.timedelta( )
本文仅涉及一些常用的方法, 详情请参考官方文档

常用方法

时间日期格式转换

这一组方法将数组显示成时间日期格式

import datetime

# 显示为时间格式
print(datetime.time(21,28,14,123456))	# 21:28:14.123456

# 显示为日期格式
print(datetime.date(2019,12,14))	# 2019-12-14

# 显示为日期时间格式
print(datetime.datetime(2019,12,14,21,32,48,456))	# 2019-12-14 21:32:48.000456

获取当前日期时间

这是最常用的一个方法

from datetime import datetime

print(datetime.now())	# 2019-07-27 20:16:23.264262

计算天数

时间之间可以进行运算, 通过这个特性可以用来计算两个时间之间的差或和

from datetime import datetime
# 通过日期算用户活了多久
user_birthday = [1996, 8, 9]
# 现在的时间 - 用户的生日
how_day = datetime.now() - datetime(*user_birthday)
print(how_day)

# 运行结果:
8387 days, 20:46:32.434009

时间戳转换

时间戳的计算是从1900年1月1日0点开始的, 显示的数值单位为秒

日期时间转化为时间戳

print(datetime.now().timestamp())	# 1564229940.623349

时间戳转化为日期时间

print(datetime.fromtimestamp(1564229940.623349))	# 2019-07-27 20:19:00.623349

字符串转换

日期时间对象转字符串

时间日期对象.strftime(format)

print(datetime.now().strftime("%Y-%m-%d"))	# 2019-07-27

字符串转日期时间对象

datetime.strptime(data_str, format)

print(datetime.strptime('2018/3/22  15.28.18', '%Y/%m/%d  %H.%M.%S'))	# 2018-03-22 15:28:18

格式字符串常用格式

[外链图片转存失败(img-xPM7goHr-1564232427812)(E:\Fire\笔记\assets\1564229337970.png)]

timedelta:时间运算类

可以通过timedelta方法指定天数用来计算时间差, 详情参考官方文档

datetime.timedelta(days=0,seconds=0, microseconds=0 milliseconds=0,minutes=0, hours=0, weeks=0)

import datetime
now = datetime.datetime.now()
# 获取一天前的日期
print(now - datetime.timedelta(days=1))		# 2019-07-26 20:57:23.972622

# 获取1天20小时20分后的日期
print(now + datetime.timedelta(days=1, hours=20, minutes=20))	#2019-07-29 17:17:23.973261

你可能感兴趣的:(python笔记)