關於獲取當前時間和時間戳格式轉換
阿新 • • 發佈:2018-12-30
對於時間資料,如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
import datetime aa = str(datetime.datetime.now()) # 當前時間 2018-01-20 20:41:30.331000 print aa print aa[:-7] # 精確到秒 2018-01-20 20:41:30