1. 程式人生 > >python time以及datetime模組實際應用

python time以及datetime模組實際應用

0. 獲取系統時間

datetime模組:

import datetime
i = datetime.datetime.now()
print ("當前的日期和時間是 %s" % i)
print ("ISO格式的日期和時間是 %s" % i.isoformat() )
print ("當前的年份是 %s" %i.year)
print ("當前的月份是 %s" %i.month)
print ("當前的日期是  %s" %i.day)
print ("dd/mm/yyyy 格式是  %s/%s/%s" % (i.day, i.month, i.year) )
print ("當前小時是 %s" %i.hour)
print ("當前分鐘是 %s" %i.minute)
print ("當前秒是  %s" %i.second)

time模組:

import time
now = time.time()

1. 時間戳轉時間

import time

# 十位時間戳
timestamp = 1515256614
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timestamp))
# 十三位時間戳
timestamp = 1515256614999
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timestamp/1000))
結果為 YYYY-mm-dd HH-MM-SS 格式的字串
注意:十位時間戳精確到秒,十三位截止到毫秒。

2. 時間轉時間戳

# 字串格式時間
dt = '2018-01-09 18:35:01'
int(time.mktime(time.strptime(dt, "%Y-%m-%d %H:%M:%S")))
結果為十位時間戳。

3. 計算兩個日期的時間差

import datetime

a = '2018-1-9 19:23:09'
b = '2018-1-6 05:42:32'
date_a = datetime.datetime.strptime(a, "%Y-%m-%d %H:%M:%S")
date_b = datetime.datetime.strptime(b, "%Y-%m-%d %H:%M:%S")
(date_a - date_b).seconds
結果為 timedelta 格式兩日期相差的秒數,timedelta 還能用 days 檢視相差天數。

4. 通過時間差獲取時間

a = '2018-1-9 19:23:09'
date_a = datetime.datetime.strptime(a, "%Y-%m-%d %H:%M:%S")
date_b = date_a - datetime.timedelta(days=2, hours=4)
datetime.datetime.strftime(date_b, "%Y-%m-%d %H:%M:%S")
datetime.timedelta 引數還可以為 weeks,minutes,seconds。

總結

time 模組時間戳轉時間陣列:time.localtime(timestamp)時間陣列轉字串時間:time.strftime("%Y-%m-%d %H:%M:%S", timearray)
字串時間轉時間陣列:time.strptime(datetime, "%Y-%m-%d %H:%M:%S")時間陣列轉時間戳:time.mktime(timearray)datetime 模組時間格式轉字串時間:datetime.datetime.strftime(date,"%Y-%m-%d %H:%M:%S")字串時間轉時間格式:datetime.datetime.strptime(date, "%Y-%m-%d %H:%M:%S")datetime.timedelta 可對時間格式進行 +,- 計算

補充

python時間日期格式化符號:%y 兩位年份%I 12小時制%a %A 星期名稱%b %B 月份名稱%j 年內第幾天%Z 時區名稱%% %本身