时间模块time-datetime-calendar

1.time

import time

'''
UTC(世界协调时间):格林尼治天文时间,世界标准时间,在中国是UTC+8
DST(夏令时):是一种节约能源而人为规定时间制度,在夏季调快1个小时


时间的表示形式:
1、时间戳:
以整型或浮点型表示时间的一个以秒为单位的时间间隔,这个时间间隔的基础值是从1970/1/1凌晨开始算起

2、元组:
一种python的数据结构表示,这个元组有9个整型内容
year
month
day
hours
minutes
seconds
weekday
Julia day
flag (1  -1  0)

3、格式化字符串:
strftime(format[, tuple]) -> string
将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出
python中时间日期格式化符号:
%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

%f 毫秒(000000-999999


%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 当前时区的名称
%% %号本身

'''
# 返回当前时间的时间戳,浮点数形式,不需要参数
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(time.localtime(time.time()))
p = time.ctime(c)
print(p)
# 将时间元组转为给定格式的字符串,参数2为时间元组,如果没有参数2,默认转成当前时间
q = time.strftime("%Y-%m-%d %X", b)
print(q)
# print(type(q))
# 将时间字符串转成时间元组
w = time.strptime(q, "%Y-%m-%d %X")
print(w)

# 延迟一个时间,整型或浮点型
# time.sleep(4)

# 返回当前程序的cpu执行时间
# Unix系统始终返回全部的运行时间
# windows 从第二次开始,都是以第一此调用此函数的开始时间戳作为基数

y1 = time.clock()
print("%d" % y1)
time.sleep(2)
y2 = time.clock()
print("%d" % y2)
time.sleep(2)
y3 = time.clock()
print("%d" % y3)

时间模块time-datetime-calendar

2.datetime

"""
datetimetime高级了不少,可以理解为datetime基于time进行了封装
提供了更为实用的函数,datetime模块的接口更直观,更容易调用

模块中的类:
datetime:同时有时间和日期
timedelta 主要用于计算时间的跨度
tzinfo   时区相关
time  只关注时间
data  只关注日期

"""

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))

# 将格式化字符串转为datetime对象
# 注意:转换的格式要与字符串一致
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(2018, 3))
# 返回指定年的日历
print(calendar.calendar(2018))
# 闰年返回True,否则返回False
print(calendar.isleap(2000))
# 返回某个月的weekday的第一天和这个月的所有天数
print(calendar.monthrange(2018, 3))
# 返回某个月以每一周为元素的列表
print(calendar.monthcalendar(2018, 3))