對於時間數據,如2016-05-05 20:28:54
,有時需要與時間戳進行相互的運算,此時就需要對兩種形式進行轉換,在Python中,轉換時需要用到time
模塊,具體的操作有如下的幾種:
- 將時間轉換爲時間戳
- 重新格式化時間
- 時間戳轉換爲時間
- 獲取當前時間及將其轉換成時間戳
1、將時間轉換成時間戳
將如上的時間2016-05-05 20:28:54
轉換成時間戳,具體的操作過程爲:
- 利用
strptime()
函數將時間轉換成時間數組 - 利用
mktime()
函數將時間數組轉換成時間戳
#coding:UTF-8
import time
dt = "2016-05-05 20:28:54"
#轉換成時間數組
timeArray = time.strptime(dt, "%Y-%m-%d %H:%M:%S")
#轉換成時間戳
timestamp = time.mktime(timeArray)
print timestamp
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
2、重新格式化時間
重新格式化時間需要以下的兩個步驟:
- 利用
strptime()
函數將時間轉換成時間數組 - 利用
strftime()
函數重新格式化時間
#coding:UTF-8
import time
dt = "2016-05-05 20:28:54"
#轉換成時間數組
timeArray = time.strptime(dt, "%Y-%m-%d %H:%M:%S")
#轉換成新的時間格式(20160505-20:28:54)
dt_new = time.strftime("%Y%m%d-%H:%M:%S",timeArray)
print dt_new
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
3、將時間戳轉換成時間
在時間戳轉換成時間中,首先需要將時間戳轉換成localtime,再轉換成時間的具體格式:
- 利用
localtime()
函數將時間戳轉化成localtime的格式 - 利用
strftime()
函數重新格式化時間
#coding:UTF-8
import time
timestamp = 1462451334
#轉換成localtime
time_local = time.localtime(timestamp)
#轉換成新的時間格式(2016-05-05 20:28:54)
dt = time.strftime("%Y-%m-%d %H:%M:%S",time_local)
print dt
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
4、按指定的格式獲取當前時間
利用time()
獲取當前時間,再利用localtime()
函數轉換爲localtime,最後利用strftime()
函數重新格式化時間。
#coding:UTF-8
import time
#獲取當前時間
time_now = int(time.time())
#轉換成localtime
time_local = time.localtime(time_now)
#轉換成新的時間格式(2016-05-09 18:59:20)
dt = time.strftime("%Y-%m-%d %H:%M:%S",time_local)
print dt
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/markdown_views-ea0013b516.css">
</div>
5、使用datetime模塊求前一天後一天