欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python入门---time模块

程序员文章站 2022-03-25 20:16:26
#__author:Mifen #date: 2018/12/6 import time ''' 时间戳是一种用于表示时间的方式。从1970年1月1日0时0分0秒0毫秒开始到指定时间的秒数。世间戳也叫做unix时间戳,1970年1月1日成为unix元年。 作用:是为了方便时间的统一运算。 1.从19... ......
#__author:mifen
#date: 2018/12/6

import  time


'''
时间戳是一种用于表示时间的方式。从1970年1月1日0时0分0秒0毫秒开始到指定时间的秒数。世间戳也叫做unix时间戳,1970年1月1日成为unix元年。
作用:是为了方便时间的统一运算。
1.从1970年1月1日开始计算。
2.能够使用到2038年的某一天
3.如果使用太远的未来或者1970年以前的时间可能出现异常
'''
'''
utc时间又称之为世界协调时间。特指格林尼治天文台所在位置的时间也叫做格林尼治时间。
中国的时区是东八区,和世界协调时间差了8个小时,多个八个小时
'''

# print(help(time)) #打印time帮助文档


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

# 获取当前时区与格林尼治所在时区的相差的秒数(在有夏令时的情况下)
time.altzone

#根据时间元组制作时间字符串
time.asctime((2001,1,1,1,1,1,0,0,0))
'''
return->
mon jan  1 01:01:01 2001
'''

print(time.time())  #拿到1970年到现在的时间戳 #1544075738.3007624秒
time.sleep(1)  #停顿1秒
print(time.clock())  #计算cpu执行的时间  #3.6467216519357346e-07

#获取指定时间的utc时间元组(不传值时返回当前utc时间元组,传入参数为时间戳
print(time.gmtime()) #time.struct_time(tm_year=2018, tm_mon=12, tm_mday=6,
                    # tm_hour=8, tm_min=12, tm_sec=5, tm_wday=3, tm_yday=340, tm_isdst=0) #这是英国标准时间utc
                    #tm_wday=3是每周第4天,从0开始算  #tm_yday=340今年的第340天

print(time.localtime()) #time.struct_time(tm_year=2018, tm_mon=12, tm_mday=6,   #本地时间
                        # tm_hour=16, tm_min=21, tm_sec=4, tm_wday=3, tm_yday=340, tm_isdst=0)


# 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)
# %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 当前时区的名称
# %% %号本身
tm = time.localtime()
print(time.strftime('%y-%m-%d %h-%m-%s',tm)) #2018-12-06 16-31-31 #第一个参数天格式化符号
                                             #第二个参数为结构化时间

print(time.strptime('2018-12-06 16-31-31','%y-%m-%d %h-%m-%s')) #还原结构化时间,两者必须对应
#time.struct_time(tm_year=2018, tm_mon=12, tm_mday=6, tm_hour=16, tm_min=31, tm_sec=31, tm_wday=3, tm_yday=340, tm_isdst=-1)

a = time.strptime('2018-12-06 16-31-31','%y-%m-%d %h-%m-%s')
print(a.tm_year)  #2018 #通过赋值的方式取值


#获取本地时间字符串格式
print(time.ctime()) #thu dec  6 16:40:01 2018
print(time.ctime(time.time()))  #参数为时间戳,根据时间戳计算出当时的时间 #thu dec  6 16:40:01 2018

#将时间元组转换成时间戳,按本地时间来计算,如果想按照utc时间计算,则是calendar.timegm()
print(time.mktime(time.localtime()))  #把当前时间转换为时间戳  #1544085866.0


# cpu计数器,主要用于计算程序执行时间,开始获取一次,程序执行完毕在获取一次,相减获得执行总时间,(仅支持python3.3以上)
def example():
    start_flag = time.perf_counter()
    for v in range(100001):
        pass
    end_flag = time.perf_counter()
    return end_flag - start_flag


res = example()
print('use_time:', res)
'''
return->
use_time: 0.0032313870001416944
'''