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")

 5、str和时间相互转换

import datetime

newdate = datetime.datetime.strptime(logtm,'%Y-%m-%d %H:%M:%S')

如上语句,可以实现 字符串和时间之间的相互转换

6、时间加减

import datetime 

newdate = olddate + datetime.timedelta(days=interval)
#olddate 为时间类型

 

posted @ 2021-01-12 11:54  linma  阅读(688)  评论(0)    收藏  举报