python计算时间差及时间与字符串转换

import time
import datetime
# 1 时间差计算
start = datetime.datetime.now()
time.sleep(5)
end = datetime.datetime.now()
 
print((end - start).seconds)  # 5


def Caltime(date1, date2):
    # %Y-%m-%d为日期格式,其中的-可以用其他代替或者不写,但是要统一,同理后面的时分秒也一样;可以只计算日期,不计算时间。
    # date1=time.strptime(date1,"%Y-%m-%d %H:%M:%S")
    # date2=time.strptime(date2,"%Y-%m-%d %H:%M:%S")

    date1 = time.strptime(date1, "%Y%m%d")
    date2 = time.strptime(date2, "%Y%m%d")

    date1 = datetime.datetime(date1[0], date1[1], date1[2])
    date2 = datetime.datetime(date2[0], date2[1], date2[2])
    return date2 - date1
 #这里要注意输出的天数是要➕1的


# 2时间差
date1 = '2018-11-26 09:30:45'
date2 = '16/Nov/2018:08:44:34'

# 定义的日期格式需与当前时间格式一致
d1 = datetime.datetime.strptime(date1, '%Y-%m-%d %H:%M:%S')
d2 = datetime.datetime.strptime(date2, '%d/%b/%Y:%H:%M:%S')

d = d1 - d2

print('相差的天数:{}'.format(d.days))
print('相差的秒数:{}'.format(d.seconds))


#3 字符串与时间戳的转换
import time
a = "2013-10-10 23:40:00"
将其转换为时间数组
timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")
转换为时间戳:
timeStamp = int(time.mktime(timeArray))
#时间戳转字符串
 import  datetime
获得当前时间
now = datetime.datetime.now()  ->这是时间数组格式
转换为指定的格式:
otherStyleTime = now.strftime("%Y-%m-%d %H:%M:%S")

#4.一个日期推迟或提前N天对应的日期
def datedays(startT,dayS):
    print(type(dayS))
    fmt = '%Y%m%d'
    time_tuple = time.strptime(startT, fmt)
    year, month, day = time_tuple[:3]
    a_date = datetime.date(year, month, day)
    d1 = a_date + datetime.timedelta(days=dayS)
    d2 = a_date - datetime.timedelta(days=dayS)
    return d1,d2

猜你喜欢

转载自blog.csdn.net/weixin_42322206/article/details/107295586