1. 程式人生 > >Python入門---time模組

Python入門---time模組

#__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
'''