1. 程式人生 > 實用技巧 >python時間轉換

python時間轉換

1.時間戳轉換為時間

from datetime import datetime
timeStamp = 1381419600
dateArray = datetime.utcfromtimestamp(timeStamp)
dateArray1 = datetime.fromtimestamp(timeStamp)
print(dateArray1)
#2013-10-10 23:40:00
print(dateArray)
#2013-10-10 15:40:00
print(type(dateArray))
#<class 'datetime.datetime'>
otherStyleTime = dateArray.strftime("
%Y-%m-%d %H:%M:%S") print(otherStyleTime) #2013-10-10 15:40:00 print(type(otherStyleTime)) #<class 'str'>

2.在使用xlrd讀取Excel表格中的日期格式時,讀出的內容和原來Excel表格中的內容不一致。讀取出來的是一個浮點數。導致不能正確使用。而xldate_as_tuple方法可以很好地解決這個問題。

import xlrd
from xlrd import xldate_as_tuple

#開啟原表
data = xlrd.open_workbook('test.xlsx')
table 
= data.sheets()[0] pickupTimePhasetime = xldate_as_tuple(table.cell_value(0,0),0) print(pickupTimePhasetime) #(2021, 1, 7, 12, 23, 0),型別 tuple pickupTimePhase = str(pickupTimePhasetime[0]) + '-' + str(pickupTimePhasetime[1]) + '-' + str( pickupTimePhasetime[2]) + ' ' + str(pickupTimePhasetime[3]) + '
:' + str(pickupTimePhasetime[4]) + ':' + str( pickupTimePhasetime[5]) print(pickupTimePhase) #2021-1-7 12:23:0,型別 str

3.日期轉換為時間戳

import time

# 字元型別的時間
tss1 = '2013-10-10 23:40:00'
# 轉為時間陣列
timeArray = time.strptime(tss1,"%Y-%m-%d %H:%M:%S")
print(timeArray)
print(type(timeArray))  #<class 'time.struct_time'>
# timeArray可以呼叫tm_year等
print(timeArray.tm_year)  # 2013
# 轉為時間戳
timeStamp = int(time.mktime(timeArray))
print(timeStamp) # 1381419600
#轉換為毫秒
print(timeStamp*1000)  
#1381419600000

4.比較大小,通過time模組可以直接比較大小,也可以通過時間戳比較大小

import time
# 字元型別的時間
tss1 = '2013-10-10 23:40:00'
# 轉為時間陣列
timeArray1 = time.strptime(tss1,"%Y-%m-%d %H:%M:%S")
# 轉為時間戳
timeStamp1 = int(time.mktime(timeArray1))
#print(timeStamp1) # 1381419600

tss2 = '2013-10-11 23:40:00'
timeArray2 = time.strptime(tss2,"%Y-%m-%d %H:%M:%S")
timeStamp2 = int(time.mktime(timeArray2))
#print(timeStamp2) # 1381506000

#time模組可以直接比較大小
if timeArray1 < timeArray2:
    print("通過時間模組判斷PASS")

#通過時間戳比較大小
if timeStamp1 < timeStamp2:
    print("通過時間戳判斷PASS")