1、time
UTC(世界协调时间):格林尼治天文时间,世界标准时间,在中国来说是UTC-8
DST(夏令时):是一种节约能源而人为规定的时间刻度,在夏季调快1小时
时间的表示形式:
1、时间戳
以整形或浮点型表示时间的以一个一秒为单位的时间间隔,这个时间的间隔基础值
是从1970.1.1开始算起
2、元组
一种Python的数据结构表示,这个元组有9个整形内容
year
month
hours
minutes
weekday
Julia day
flag (1 或 -1 或0)
3、格式化字符串
%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 当前时区的名称
%% %号本身
import time
#返回当前时间的时间戳,浮点数形式,不需要参数
c = time.time()
print(c)
#将时间戳转为UTC时间元组
t = time.gmtime(c)
print(t)
#将时间戳转为本地时间元组
b = time.localtime(c)
print(b)
#将本地时间转为时间戳
m = time.mktime(b)
print(m)
#将时间元组转为字符串
s = time.asctime(b)
print(s)
#将时间戳转为字符串 time.asctime(localtime(time.time()))
p = time.ctime(c)
print(p)
#将时间元组转为给定格式的字符串,参数2为时间元组,默认为当前时间
q = time.strftime("%Y-%m-%d %H:%M:%S", b)
q1 = time.strftime("%Y-%m-%d %X")
print(q1)
print(type(q))
#将时间字符串转为时间元组
w = time.strptime(q,"%Y-%m-%d %X")
print(w)
#延迟时间,参数为整形或浮点型
# time.sleep(4)
#返回当前程序的CPU执行时间
#Unix系统始终返回全部的运行时间
#Windows从第二次开始,都是以第一个调用此函数的开始时间戳作为基数
y1 = time.process_time()
print("%d" % (y1))
time.sleep(1)
y2 = time.perf_counter()
print("%d" % (y2))
time.sleep(2)
y3 = time.perf_counter()
print("%d" % (y3))
2、datatime
datatime比time高级不少,可以理解为datatime基于time进行了封装,提供了各位使用的函数,
datatime模块更直观,更容易调用
模块中的类
datetime 同时有时间和日期
timedelta 主要用于计算时间的跨度
tzinfo 时区相关
time 只关注时间
date 只关注日期
使用
import datetime
#获取当前时间
d1 = datetime.datetime.now()
print(d1)
print(type(d1))
#获取指定的时间
d2 = datetime.datetime(1999, 10, 1, 10, 28, 25, 123456)
print(d2)
#将时间转为字符串
d3 = d1.strftime("%Y-%m-%d %X")
print(d3)
print(type(d3))
#将格式化字符串转为datatime对象
#注意转换的格式要与字符串一致
d4 = datetime.datetime.strptime(d3, "%Y-%m-%d %X")
print(d4)
d5 = datetime.datetime(1999, 10, 1, 10, 28, 25, 123456)
d6 = datetime.datetime.now()
d7 = d6 - d5
print(d7)
print(type(d7))
#间隔天数
print(d7.days)
#间隔天数除外的秒数
print(d7.seconds)
3、calendar
日历模块
使用
import calendar
#返回某年某月的日历
print(calendar.month(2017, 7))
#返回指定年的日历
print(calendar.calendar(2017))
#判断闰年,返回True,否则返回false
print(calendar.isleap(2000))
#返回某个月的weekday的第一天和这个月的天数
print(calendar.monthrange(2021, 3))
#返回某个月以每一周为元素的列表
print(calendar.monthcalendar(2017, 7))