datetime模块是用于操作时间的模块。
用函数:dir(datetime)可以获得以下这些结果
‘MAXYEAR’, ‘MINYEAR’, ‘date’, ‘datetime’, ‘datetime_CAPI’, ‘time’, ‘timedelta’, ‘timezone’,
其中省略了一切不常用的方法
方法 | 说明 |
---|---|
MAXYEAR | 获取最大年份 |
MINYEAR | 获取最小年份 |
date | 返回日期对象 |
time | 返回时间对象 |
datetime | 返回日期和时间对象 |
timedelta | 操作日期的时间间隔 |
timezone | 操作日期的时区差异 |
以及在类datetime中的方法:
方法 | 说明 |
---|---|
timestamp | 时间对象转化为时间戳 |
fromtimestamp | 时间戳转化为时间对象 |
strftime | 时间对象转化为字符串 |
strptime | 字符串转化为时间对象 |
演示:
1.date,time
import datetime
from datetime import datetime,time
now = datetime.now()
date1 = datetime.date(now)
#获取now中的时间
time1 = datetime.time(now)
#获取now中的日期
datetime1 = datetime.combine(date1,time1)
#合并日期和时间
print('日期是:%s'%date1)
print('时间是:%s'%time1)
print('现在是:%s'%datetime1)
结果:
日期是:2018-11-27
时间是:20:29:29.423496
现在是:2018-11-27 20:29:29.423496
timedelta
rt datetime,time,timedelta
now1 = datetime.now()
#获取当前时间
timelate3 = now1 + timedelta(days=3)
#在当前时间的基础上加三天
print('现在时间是:%s'%now1)
print('三天后时间是:%s'%timelate3)
运行结果
现在时间是:2018-11-28 13:32:50.321858
三天后时间是:2018-12-01 13:32:50.321858
时间和时间戳之间的相互转换
函数:timestamp和fromtimestamp
from datetime import datetime
now1 = datetime.now()
time1 = datetime.timestamp(now1)
#把时间转化为时间戳
print('现在时间是:%s'%now1)
print('现在时间的时间戳为:%s'%time1)
now2 = datetime.fromtimestamp(time1)
#再把时间戳转换为时间
print('现在时间是%s'%now2)
运行结果
现在时间是:2018-11-28 13:41:26.866977
现在时间的时间戳为:1543383686.866977
现在时间是2018-11-28 13:41:26.866977
时间对象与字符串之间相互转化
函数:strftime和strptime
from datetime import datetime
now1 = datetime.now()
print(type(now1))
time_str = datetime.strftime(now1,'%Y-%m-d %H:%M:%S')
#将时间对象按照年-月-日 时:分:秒的格式转换成字符串
print(type(time_str))
time_obj = datetime.strptime(time_str,'%Y-%m-d %H:%M:%S')
#将时间字符串按照年-月-日 时:分:秒的格式转换成时间对象
print(type(time_obj))
运行结果:
<class 'datetime.datetime'>
<class 'str'>
<class 'datetime.datetime'>
还有一些不常用模块,没有一一展示!