time
"""
UTC(世界协调时间):格林尼治天文时间
中国UTC-8
DST(夏令时):是一种节约能源而人为规定时间制度,在夏季调快1h。
时间表示形式:
1.时间戳 以整形或浮点型表示时间的一个以秒为单位的时间间隔
这个时间间隔的基础值是1970年1月1号带领开始算起
2.元组
python数据结构表示,这个元组有9个整形内容
year month day hours minutes seconds weekday Juliaday(星期几) flag(1或-1或0) DST
3.格式化字符串
%Y完整年份 %y要去掉世纪年份 %m月份 %d一个月第几天
"""
import time
c=time.time()#返回当前时间的时间戳
print(c)
t=time.gmtime(c)# 将时间戳作为UTC时间元组
print(t)
b=time.localtime(c)# 将时间戳转换为本地时间(北京时间)
print(b)
#将元组转换为时间戳 将本地时间转换为时间戳
m=time.mktime(b)
print(m)
#将时间元组转换为字符穿
s=time.asctime(b)
print(s)
#将时间戳转换为字符穿
p=time.ctime(c)
print(p)
#将时间元组转换为给定的字符穿 参数2为时间元组 没有参数转换当前时间
s=time.strftime("%Y-%m-%d %H:%M:%S",b)
print(s)
q=time.strftime("%Y-%m-%d %X",b)
print(q,type(q))
#将时间字符串转为时间元组
w=time.strptime(q,"%Y-%m-%d %X")
print(w)
#localtime(ts):将时间戳数据转为一个本地时间元祖对象返回
#【注意】返回struct_time对象,有9个元素
b = time.localtime()
# print(b, type(b))
datatime
import datetime
"""
datetime比time高级了不少,datatime基于time进行了封装,
提供了各种可使用的函数,datetime的模块接口更直观,更容易调用
模块中的类:
datetime 有时间和 日期
timedelta 用于计算时间跨度
tzinfo 时区相关
time 只有时间
date 只有日期
"""
d1=datetime.datetime.now()#获取当前时间
print(d1,type(d1))
#获取指定时间
d2=datetime.datetime(1999,10,1,10,28,26,5685)
print(d2)
#将时间转为字符穿
d3=d1.strftime("%Y-%m-%d %X")
print(d3,type(d3))
#将格式化字符串 转化为datetime对象
d4=datetime.datetime.strptime(d3,"%Y-%m-%d %X")
print(d4,type(d4))
d5=datetime.datetime(1999,10,1,10,28,26,5685)
d6=datetime.datetime.now()
d7=d6-d5
print(d7,type(d7))
print(d7.days)
print(d7.seconds)#间隔天数除外的秒数
#timedelta():可以在不转换datetime类型数据的基础上进行相关的算数运算(日、小数、分钟、秒钟...)
delta = datetime.timedelta(days=1,hours=1,minutes=1,seconds=1)
# print(delta, type(delta))
# #计算时间差
# # print(dt3 - delta)
# print(dt3 + delta)
#将时间戳对象转换为日期对象
d = datetime.date.fromtimestamp(ts)
# print(d,type(d))
dt1 = datetime.datetime.today()
# print(dt1,type(dt1))
dt2 = datetime.datetime.utcnow()
# print(dt2,type(dt2))
calendar
import calendar
"""
日历模块
"""
print(calendar.month(2017,7))#指定某年某月的日历
print(calendar.calendar(2017))#返回指定年的日历
print(calendar.isleap(2000))#判断是否为闰年
print(calendar.isleap(2000))#判断是否为闰年
print(calendar.monthrange(2017,7))#返回某个月的weekday的第一天和这个月有多少天
print(calendar.monthcalendar(2017,7))#返回某个月以每一周为一个元素的列表
import calendar
'''
演示calendar(日历)模块的使用:
'''
#calendar(year,[w=2,l=1,c=6]):返回year年的完整日历信息
# print(calendar.calendar(2018, w=2, l=1, c=6))
#关于闰年的一些方法:
'''
isleap(year):判断year是否是闰年
返回True,说明是闰年
返回Flase,说明是平年
'''
# print(calendar.isleap(2001))
#leapdays(y1,y2):返回[y1,y2)之间的闰年个数
# print(calendar.leapdays(2000,2016))
#和month有关的一些函数:
#month(year,month):返回year年month月的日历对象
print(calendar.month(2018,8))
#monthrange(year, month):返回是一个元祖对象,一共有两个元素
#第一元素存储的是1号是本周的第几天,第二元素存储的是本月一共有几天
# print(calendar.monthrange(2018,8))
#timegm(tp):将时间元祖对象转换为时间戳对象返回
ts = calendar.timegm((2018,9,25,15,52,37))
print(ts)