1. 程式人生 > >關於獲取當前時間和時間戳格式轉換

關於獲取當前時間和時間戳格式轉換

對於時間資料,如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