1. 程式人生 > >Python time和datatime模塊

Python time和datatime模塊

mil true col highlight 字符 日期 localtime pan 時間

time和datatime模塊

時間相關的操作,時間有三種表示方式:

  • 時間戳 1970年1月1日之後的秒,即:time.time()
  • 格式化的字符串 2014-11-11 11:11, 即:time.strftime(‘%Y-%m-%d‘)
  • 結構化時間 元組包含了:年、日、星期等... time.struct_time 即:time.localtime()

import time

# 返回處理器時間,3.3開始已廢棄 , 改成了time.process_time()測量處理器運算時間,不包括sleep時間,不穩定,mac上測不出來
print(time.clock())
print(time.process_time())


輸入結果:
1.520822339055174e-06
0.09360059999999999  

import time

# 返回與utc時間的時間差,以秒計算
print(time.altzone)

輸入結果:
-32400  

import time

# 返回時間格式"Thu Oct 19 17:26:06 2017"
print(time.asctime())

輸入結果:
Thu Nov 30 16:53:21 2017  

import time

# 返回本地時間 的struct time對象格式
print(time.localtime())

輸入結果:
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=30, tm_hour=16, tm_min=53, tm_sec=21, tm_wday=3, tm_yday=334, tm_isdst=0)  

import time

# 返回時間格式"Fri Aug 19 11:14:16 2016"
print(time.asctime(time.localtime()))
# 返回時間格式"Fri Aug 19 11:14:16 2016"
print(time.ctime())

輸入結果:
Thu Nov 30 16:53:21 2017
Thu Nov 30 16:53:21 2017  

import time

# 返回utc時間的struc時間對象格式
print(time.gmtime(time.time()-800000))

輸入結果:
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=21, tm_hour=2, tm_min=40, tm_sec=1, tm_wday=1, tm_yday=325, tm_isdst=0)  

import time

# # 日期字符串 轉成  時間戳
# # 將 日期字符串 轉成 struct時間對象格式
string_2_struct = time.strptime("2016/06/22", "%Y/%m/%d")
print(string_2_struct)
string_2_struct = time.strptime("2016.06.22", "%Y.%m.%d")
print(string_2_struct)

輸入結果:
time.struct_time(tm_year=2016, tm_mon=6, tm_mday=22, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=174, tm_isdst=-1)
time.struct_time(tm_year=2016, tm_mon=6, tm_mday=22, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=174, tm_isdst=-1)  

import time

# 將struct時間對象轉成時間戳
struct_2_stamp = time.mktime(string_2_struct)
print(struct_2_stamp)

輸入結果:
1466524800.0  

import time

# # 返回時間格式"Fri Aug 19 11:14:16 2016"
a = time.asctime(string_2_struct)
print(a)

輸入結果:
Wed Jun 22 00:00:00 2016  

import time

# 將時間戳轉為字符串格式
print(time.gmtime(time.time()-86640)) # 將utc時間戳轉換成struct_time格式

輸入結果:
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=29, tm_hour=8, tm_min=49, tm_sec=21, tm_wday=2, tm_yday=333, tm_isdst=0)  

import time

print(time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime())) # 將utc struct_time格式轉成指定的字符串格式
print(time.strftime("%Y:%m:%d %H:%M:%S", time.gmtime(time.time()+28800))) # 正八區時間
print("\033[32m%s\033[0m" % time.strftime("%Y:%m:%d %H:%M:%S")) # 正八區時間
print("\033[31m%s\033[0m" % time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) # 正八區時間

輸入結果:
2017-11-30 08:53:21
2017:11:30 16:53:21
2017:11:30 16:53:21
2017-11-30 16:53:21  

Python time和datatime模塊