time模块
python程序能用很多方式处理日期和时间,转换日期格式是一种常见的功能.
python提供了一个time和calendar模块可以用于格式化日期和时间.
时间间隔是以秒为单位的浮点小数
名词解释
UTC :格林威治天文时间,世界标准时间,在中国为UTC+8
DST:夏令时是一种节约能源而人为规定的时间制度,在夏季调快一小时.
时间戳:以浮点数表示以秒为单位,1970年1月1日午夜(历元)经过了多长时间来表示【秒】
time模块使用时需要导入
import time
time的函数使用
time.time()
获取当前时间的时间戳,以浮点数形式返回,不需要参数
import time
t1 = time.time()
print(t1) #1560773873.5705237
time.gmtie(t1)
将时间戳转换为UTC时间
gm = time.gmtie(t1)
time.localtime(t1)
将时间戳转为本地时间[元组]
lt = time.localtime(t1)
time.mktime(lt)
将本地时间元组转为时间戳
mt = time.mktime(lt)
time.asctime(lt)
将本地时间元组格式转为字符串
st = time.asctime(lt)
time.ctime(t1)
将时间戳转换为字符串
ct = time.ctime(t1)
time.strftime("%Y-%m-%d %H:%M:%S", lt)
将本地时间元组转为指定的格式的字符串
strf = time.strftime("%Y-%m-%d %H:%M:%S", lt)
time.strptime(‘2019-06-17 22:03:26’,’%Y-%m-%d %X’)
将指定时间格式的字符串,转为时间元组
strp = time.strptime('2019-06-17 22:03:26','%Y-%m-%d %X')
格式含义
%Y 完整的年份
%m 月份(01 - 12)
%M 分钟数(00 - 59
%d 一个月中的第几天(01 - 31)
%S 秒(01 - 61)
%H 一天中的第几个小时(24小时制,00 - 23)
%X 本地相应时间(时分秒)
%x 本地相应日期
time.sleep(2)
休眠,单位s
time.sleep(2)
time.clock()
以浮点数的方式计算当前cpu的耗时,通常情况下成对使用。
time.clock()
datetime模块
使用时需要导入模块
import datetime
函数的使用
datetime.datetime.now()
获取系统当前时间,返回datetime类型
now = datetime.datetime.now()
print(now) #输出2019-06-17 20:42:49.501086
datetime.datetime(year,mon,day,hour,min,sec)
将指定的时间转为datetime对象
dt = datetime.datetime(2019, 6,17, 21, 59, 7)
print(t2)
datetime.strftime("%Y-%m-%d %X")
将datetime对象格式化为时间字符
datetime.strftime("%Y-%m-%d %X")
dtime = dt-dt2
两个datetime对象相减返回一个时间间隔对象
now = datetime.datetime.now()
dt = datetime.datetime(2019, 6,11, 21, 59, 7, 95015)
dtime = now-dt
print(dtime)
dtime.days
获取间隔的天数
print(dtime.days)
dtime.seconds
获取间隔的秒数
print(dtime.seconds)
calendar模块
calendar模块有很广泛的方法用来处理年历和月历
使用时需要导入模块
import calendar
函数的使用
calendar.calendar(year)
返回指定年份的日历(以字符串的形式)
calendar.calendar(2019)
calendar.month(year,mon)
返回指定月份的日历(以字符串的形式)
calendar.month(2019, 6)
calendar.isleap(year)
判断指定年份是否为闰年,若是则返回True,否则返回False
calendar.isleap(2019)
calendar.leapdays(year1,year2)
返回[year1,year2)中闰年的个数
calendar.leapdays(2009, 2019)
calendar.monthrange(year,mon)
返回该月第一天的星期码与该月的天数,以元组的形式返回。
calendar.monthrange(2019,6)
calendar.monthcalendar(year,mon)
返回某月以每一周为元素的序列,若这天没有则使用0来进行占位
calendar.monthcalendar(2019, 6)
calendar.weekday(year,mon,day)
返回指定日期的星期码
calendar.weekday(2019,6,17)