datatime模块
日期与时间的标准库
需要导入包
import datetime 或 import time
time
-
time.sleep() 休眠一段时间
time.sleep(3) #休眠3秒或者暂停3秒
-
time.localtime() 获取当前时间
#获取当前时间 time.localtime() #结果如下 time.struct_time(tm_year=2020, tm_mon=4, tm_mday=10, tm_hour=12, tm_min=32, tm_sec=5, tm_wday=4, tm_yday=101, tm_isdst=0) #获取当前时间,只要tm_year, tm_mon, tm_mday time.localtime().tm_year time.localtime().tm_mon time.localtime().tm_mday time.strftime
-
time.strftime() 格式化输出时间
#格式化输出时间 time.strftime(time.strftime('%Y-%m-%d',time.localtime())) #输出结果如下 2020-04-09
-
time.asctime() 日期时间对象转换为字符串
#日期时间对象转换为字符串 time.asctime() #结果如下 Fri Apr 10 12:38:39 2020
datetime
-
datetime.datetime.now() 获取当前时间
datetime.datetime.now() #结果如下 2020-04-10 12:42:21.555193
-
datetime.date()创建日期对象
#参数 年 月 日 my_date = datetime.date(2019,1,1) print(my_date) #结果如下 2019-01-01
-
datetime.time()创建时间对象
#参数 时,分,秒,毫秒 my_time = datetime.time(20,44,23) print(my_time) #结果如下 20:44:23
-
datetime.datetime()创建时间日期对象
#参数年,月,日,时,分,秒,毫秒 my_dt = datetime.datetime(2019,1,1,20,44,23 ) print(my_dt) #结果如下 2019-01-01 20:44:23
-
最大datetime.date.max 最小时间datetime.date.min
print(datetime.date.min) print(datetime.date.max) #结果如下 0001-01-01 9999-12-31
-
datetime.timestamp()时间对象转换为时间戳
#获取当前时间 nowtime = datetime.datetime.now() print(nowtime) #将当前时间转换为时间戳 my_stamp = datetime.datetime.timestamp(nowtime) print(my_stamp) #结果如下 2020-04-10 12:42:21.555193 1586493741.555193
-
datetime.fromtimestamp()时间戳转换为日期对象
my_now = datetime.datetime.fromtimestamp(1586493741.555193) print(my_now) #结果如下 2020-04-10 12:42:21.555193
-
datetime.strftime()日期时间对象转换为字符串
#获取日期时间对象 my_dt = datetime.datetime(2020,4,10,12,42,21,555193) #日期时间对象转换为字符串 ty = my_dt.strftime('%Y-%m-%d %H:%M:%S') print(ty) #结果如下 2020-04-10 12:42:21
-
datetime.strptime()字符串转换为日期时间对象
#字符串日期时间对象 timestr1 = 'Fri Apr 10 12:38:39 2020' timestr2 = '2019-10-31 20:00:30' #字符串转换为日期时间对象 ts1 = datetime.datetime.strptime(timestr1,'%a %b %d %H:%M:%S %Y') ts2 = datetime.datetime.strptime(timestr2,'%Y-%m-%d %H:%M:%S') print(ts1) print(ts2) #结果如下 2020-04-10 12:38:39 2019-10-31 20:00:30
-
datetime.timedelta()时间间隔
#获取当前时间 nowtime = datetime.datetime.now() #datetime.timedelta( days=0,seconds=0, microseconds=0 milliseconds=0,minutes=0, hours=0, weeks=0 ) #必须是时间日期对象加减datetime.timedelta()对象 td = datetime.timedelta(hours=8,minutes=11,seconds=39) print(nowtime-td) print(nowtime+td) #结果如下 2020-04-10 05:08:19.910306 2020-04-10 21:31:37.910306
时间日期格式化输出字符串常用格式
格式 | 描述 |
---|---|
%y | 位数的年份表示(00-99) |
%Y | 位数的年份表示(000-9999) |
%m | 月份(01-12) |
%d | 月内中的一天(0-31) |
%H | 24小时制小时数(0-23) |
%I | 12小时制小时数(01-12) |
%M | 分钟数(00-59 |
%S | (00-59) |
%a | 本地简化星期名称 |
%A | 本地完整星期名称 |
%b | 本地简化的月份名称 |
%B | 本地完整的月份名称 |
%c | 本地相应的日期表示和时间表示 |
%j | 年内的一天(001-366) |
%p | 本地A.M.或P.M.的等价符 |
%U | 一年中的星期数(00-53)星期天为星期的开始 |
%w | 星期(0-6),星期天为星期的开始 |
%W | 一年中的星期数(00-53)星期一为星期的开始 |
%x | 本地相应的日期表示 |
%X | 本地相应的时间表示 |
%Z | 当前时区的名称 |