python time 和日期相关模块

时间日期相关的模块


  • calendar 日历模块
  • time   时间模块
  • datetime 日期时间模块
  • timeit   时间检测模块

日历模块


calendar()

功能:获取指定年份的日历字符串
格式:calendar.calendar(年份,w=2,l=1,c=6,m=3)
返回值:字符串
    w表示 2个日期之间的间隔字符长度
    l表示 一个周占用几个行高度
    c表示2个月份之间的空白间隔
    m表示一行显示几个月

month()

功能:获取指定年月的日历字符串
格式:calendar.month(年,月,w=2,l=1)
返回值:字符串A

monthcalendar()

功能:获取一个年月的矩阵列表
格式:calendar.monthcalendar(年,月)
返回值:二级列表
[
    [0, 0, 0, 0, 0, 1, 2],
    [3, 4, 5, 6, 7, 8, 9],
    [10, 11, 12, 13, 14, 15, 16],
    [17, 18, 19, 20, 21, 22, 23],
    [24, 25, 26, 27, 28, 29, 30],
    [31, 0, 0, 0, 0, 0, 0]
]
结果中0表示不是该月的数值,1-31才是当月信息

isleap()

功能:检测指定年份是不是闰年
格式:calendar.isleap(年份)
返回值:布尔值

leapdays()

功能:检测指定年份之间的闰年个数
格式:calendar.leapdays(开始年份,结束年份)
返回值:整数
注意:包含开始年份不包含结束年份

monthrange()

功能:获取一个月的周几开始及当月天数
格式:calendar.monthrange(年,月)
返回值:元组(周几,天数)
注意:0-6表示周一到周天

weekday()

功能:根据年月日计算周几
格式:calendar.weekday(年,月,日)
返回值:整型  0-6 表示周一到周天

timegm()

功能:将时间元组转化为时间戳
格式:calendar.timegm(时间元组)
返回值:时间戳

time模块


欲用此模块也必须先引用

import time

时间戳


时间戳是一种用于表示时间的方式。从1970年1月1日0时0分0秒0毫秒开始到指定时间的秒数。世间戳也叫做unix时间戳,1970年1月1日成为unix元年。
作用:是为了方便时间的统一运算。
1.从1970年1月1日开始计算。
2.能够使用到2038年的某一天
3.如果使用太远的未来或者1970年以前的时间可能出现异常

UTC时间


UTC时间又称之为世界协调时间。特指格林尼治天文台所在位置的时间也叫做格林尼治时间。
中国的时区是东八区,和世界协调时间差了8个小时,多个八个小时

夏令时


夏令时就是通过在夏季将时间调快一小时,来提醒大家早睡早起身体好,节省蜡烛!
每天的时钟变成了25个小时,注意本质还是24个小时

时间元组struct_time


时间元组就是一个用于表示时间格式的元组数据而已,他是time模块操作时间的主要方式。
(tm_year=2017, tm_mon=7, tm_mday=4, tm_hour=9, tm_min=4, tm_sec=21, tm_wday=1, tm_yday=185, tm_isdst=0)
格式:(年,月,日,时,分,秒,周几,一年中的第几天,是否是夏令时)
索引        名称          内容           取值
 0        tm_year        年           4位数年份   2017
 1        tm_month       月           1~12
 2        tm_day         日           1~31
 3        tm_hour        时           0~23 
 4        tm_min         分           0~59 
 5        tm_sec         秒           0~61  60闰秒,61是历史保留
 6        tm_wday        周几          0~6  周一~周天
 7        tm_yday        一年中的第几天  1~366
 8        tm_isdst       夏令时         0 是  其他不是

时间模块的值


timezone

获取当前时区与格林尼治所在时区的相差的秒数(推荐)

altzone

获取当前时区与格林尼治所在时区的相差的秒数,在有夏令时的情况下

daylight

检测是否是夏令时的状态  0 夏令时 非0就不是

时间模块的函数


asctime()

功能:返回一个正常的可读的时间字符串
格式:time.asctime(时间元组)
返回值:时间字符串

localtime()

功能:获取当前时间元组
格式1:time.localtime()
    返回值:本地时间元组

格式2:time.localtime(时间戳)
    返回值:指定时间戳的本地时间元组

gmtime()

功能:获取当前UTC时间元组
格式1:time.gmtime()
    返回值:当前UTC时间元组

格式2:time.gmtime(时间戳)
    返回值:指定时间戳的UTC时间元组

ctime()

功能:获取本地时间的字符串格式
格式1: time.ctime()
    返回值:时间格式字符串 相当于 asctime(localtime())

格式2: time.ctime(时间戳)
    返回值:时间格式字符串 相当于asctime(localtime(时间戳))

mktime()

功能:使用时间元组制作时间戳
格式:time.mktime(时间元组)
返回值:时间戳
注意:按照本地时间来进行计算,如果想按照UTC时间计算,则是calendar.timegm()

clock()

功能:获取CPU时间,用于计算代码执行时间
格式:time.clock()
返回值:浮点数时间戳
主要用于计算程序执行时间,开始获取一次,程序执行完毕在获取一次,相减获得执行总时间,仅py3.3以下

perf_counter()

功能:获取CPU时间用于计算时间差
格式:time.perf_counter()
返回值:浮点数时间戳
主要用于计算程序执行时间,开始获取一次,程序执行完毕在获取一次,相减获得执行总时间,仅py3.3以上

sleep()

功能:程序睡眠,使得程序在此处等待指定的时间
格式:time.sleep(时间秒数)
返回值:无

time()

功能:获取当前本地的时间戳
格式:time.time()
返回值:浮点数时间戳

strftime()

功能:格式化输出时间字符串(str foramt time)
格式:time.strftime('字符串格式'[,时间元组])
返回值:格式化之后的哦字符串
格式    含义        备注
%a    本地(locale)简化星期名称
%A    本地完整星期名称
%b    本地简化月份名称
%B    本地完整月份名称
%c    本地相应的日期和时间表示
%d    一个月中的第几天(01 - 31)
%H    一天中的第几个小时(24 小时制,00 - 23)
%I    一天中的第几个小时(12 小时制,01 - 12)
%j    一年中的第几天(001 - 366)
%m    月份(01 - 12)
%M    分钟数(00 - 59)
%p    本地 am 或者 pm 的相应符    注1
%S    秒(01 - 61)    注2
%U    一年中的星期数(00 - 53 星期天是一个星期的开始)第一个星期天之前的所有天数都放在第 0 周    注3
%w    一个星期中的第几天(0 - 6,0 是星期天)    注3
%W    和 %U 基本相同,不同的是 %W 以星期一为一个星期的开始
%X    本地相应时间
%y    去掉世纪的年份(00 - 99)
%Y    完整的年份
%z    用 +HHMM 或 -HHMM 表示距离格林威治的时区偏移(H 代表十进制的小时数,M 代表十进制的分钟数)
%%    %号本身

strptime()

功能:解析时间字符串成一个元组,strftime的逆向操作(str parse time)
格式:time.strptime('时间字符串','时间字符串格式')
返回值:时间元组
posted @ 2017-11-19 19:12  Bob__Zhang  阅读(814)  评论(0编辑  收藏  举报