概要
平時對於時間的處理經常使用python的time和datetime模塊,但是用來多次還是對其中的時間戳,字符串和時間轉換應用的不太熟練,時間長了不使用就理不清楚,為此整理成文。
視圖
時間戳,時間,字符串之間的關系整理如下圖:
示例
時間戳和時間的轉換
import time
if __name__ == "__main__":
# 時間戳: time.time() 返回當前時間戳
seconds = time.time()
# time.localtime()將時間戳轉換為struct_time
s_time = time.localtime(seconds)
print s_time
# time.mktime()將struct_time轉換為時間戳
print time.mktime(s_time)
1
2
3
4
5
6
7
8
9
10
11
12
13
# 輸出 struct time: 包含年,月,日,小時,分鍾,秒等
time.struct_time(tm_year=2018, tm_mon=8, tm_mday=11, tm_hour=17, tm_min=31, tm_sec=57, tm_wday=5, tm_yday=223, tm_isdst=0)
# 時間戳
1533980060.0
1
2
3
4
5
時間和字符串之間的轉換
import time
if __name__ == "__main__":
# time.strptime() 將字符串轉換為struct_time
# %Y: 年
# %m: 月
# %d: 日
# %H: 時, %M:分, %S:秒, 更多詳細需參考python time模塊文檔
s_time = time.strptime("2018-08-07", "%Y-%m-%d")
print s_time
# time.strftime()將struct_time轉換為字符串
print time.strftime("%Y-%m-%d %H:%M:%S", s_time)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 輸出
time.struct_time(tm_year=2018, tm_mon=8, tm_mday=7, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=219, tm_isdst=-1)
2018-08-07 00:00:00
1
2
3
4
時間戳和字符串之間的轉換
時間戳和字符串之間沒有直接的轉換方法,需要借助struct_time實現轉換
import time
if __name__ == "__main__":
# 時間戳
seconds = time.time()
# 時間戳轉換為字符串
print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(seconds))
# 字符串轉換為時間戳
print time.mktime(time.strptime("2018-08-07", "%Y-%m-%d"))
1
2
3
4
5
6
7
8
9
10
11
12
# 輸出
2018-08-11 17:47:43
1533571200.0
---------------------
作者:回眸郎
來源:CSDN
原文:https://blog.csdn.net/ymaini/article/details/81589157
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!