千家信息网

Python如何实现自动计算特定格式的时间差

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要讲解了"Python如何实现自动计算特定格式的时间差",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Python如何实现自动计算特定格式的时
千家信息网最后更新 2026年10月31日Python如何实现自动计算特定格式的时间差

这篇文章主要讲解了"Python如何实现自动计算特定格式的时间差",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Python如何实现自动计算特定格式的时间差"吧!

功能

输入一个特定格式的时间戳,自动获取前进或者后退多少小时之后的时间

附加函数

时间戳转换函数

def date_time_str_to_long(input_date_time_string):    '''    标准时间格式转10位时间戳,如:'2020-01-16 08:05:09' 转为 '1579133109'    :param input_date_time_string: string类型,输入的标准时间,如:'2020-01-16 08:05:09'    :return: 10位时间戳,如:'1579133109'    '''    # 字符类型的时间    # input_date_time_string = '2013-03-06 08:05:09'    # input_date_time_string = '2013-03-06 08:05:09'    # 转为时间数组    timeArray = time.strptime(input_date_time_string, "%Y-%m-%d %H:%M:%S")        # 转为时间戳    timeStamp = int(time.mktime(timeArray))    print('标准时间={},10位时间戳={}'.format(input_date_time_string, timeStamp))  # 1381419600        return timeStamp  def date_time_long_to_str(timeStamp='1579133109', utc_time=0):    '''    将10位时间戳转为标准时间,如:'1579133109' 转为 '2020-01-16 08:05:09'    :param timeStamp: string类型,输入的10位时间戳,如:'1579133109'    :param utc_time: 选择是否输出为UTC时间,设置为1,则输出UTC时间,UTC时间=当前时间-8小时;默认为0,输出为非UTC时间    :return: 标准时间,如:'2020-01-16 08:05:09'    '''    # # 使用datetime        # dateArray = datetime.datetime.fromtimestamp(timeStamp)    # otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M:%S")    # print(otherStyleTime)  # 2013-10-10 23:40:00        if utc_time == 0:        # 使用time        timeStamp = int(timeStamp)        timeArray = time.localtime(timeStamp)        otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)        print('input_time={},output_StyleTime={}'.format(timeStamp, otherStyleTime))  # 2013-10-10 23:40:00                return otherStyleTime    else:        # 使用datetime,指定utc时间,比现在时间少8小时        import datetime        dateArray = datetime.datetime.utcfromtimestamp(timeStamp)        otherStyleTime_utc = dateArray.strftime("%Y-%m-%d %H:%M:%S")        print('input_time={},output_StyleTime_utc={}'.format(timeStamp, otherStyleTime_utc))  # 2013-10-10 15:40:00        return otherStyleTime_utc

实例如下

一、获取 "2030-12-02T17:00:00+08:00" 3小时后的时间格式 "2030-12-02T20:00:00+08:00"

代码实现

def get_now_ISO_time_count(first_time_string,count_int=3600):    #"2030-12-02T17:00:00+08:00"     if first_time_string =='':        print('初始时间不能为空,请确认...')        return -1     first_time_string=str(first_time_string).replace('T',' ').replace('+08:00','')    print('first_time_string={}'.format(first_time_string))     count_time=int(date_time_str_to_long(first_time_string))+int(count_int)    count_str=str(date_time_long_to_str(count_time))    result=count_str[0:10]+'T'+count_str[11:]+'+08:00'    print("get_now_ISO_time_count_08={}".format(result))    return str(result)

代码调用

if __name__ == '__main__':    print(get_now_ISO_time_count("2030-12-02T17:00:00+08:00", 10800))

执行结果

first_time_string=2030-12-02 17:00:00

标准时间=2030-12-02 17:00:00,10位时间戳=1922432400

input_time=1922443200,output_StyleTime=2030-12-02 20:00:00

get_now_ISO_time_count_08=2030-12-02T20:00:00+08:00

2030-12-02T20:00:00+08:00

二、计算两个时间之间的差值,精确到秒

def date_time_count(startTime, endTime):    '''    计算两个时间之间的差值,精确到秒    :param startTime:    :param endTime:    :return:    '''    spent_times = int(date_time_str_to_long(endTime)) - int(date_time_str_to_long(startTime))    print('endTime={},startTime={},时间差值={}'.format(endTime, startTime, spent_times))    return spent_times

代码调用

if __name__ == '__main__':    print(date_time_count("2021-12-06 19:40:00","2021-12-09 14:26:40"))

执行结果

标准时间=2021-12-09 14:26:40,10位时间戳=1639031200

标准时间=2021-12-06 19:40:00,10位时间戳=1638790800

endTime=2021-12-09 14:26:40,startTime=2021-12-06 19:40:00,时间差值=240400

240400

三、计算两个时间之间的差值,可以精确到毫秒

代码实现

def date_time_count_ms(startTime, endTime):    '''    计算两个时间之间的差值,可以精确到毫秒    :param startTime:    :param endTime:    :return:    '''    # 输入时间格式    # a = parse('2019-10-30 23:43:10.123')    # b = parse("2019-10-28/09:08:13.56212")    a = parse(str(endTime))    b = parse(str(startTime))        d_count = (a - b).days  # 获取天数的时间差    s_count = (a - b).seconds  # 获取时间差中的秒数,也就是23:43:10到09:08:13,不包括前面的天数和秒后面的小数    total_seconds = (a - b).total_seconds()  # 包括天数,小时,微秒等在内的所有秒数差    microseconds = (a - b).microseconds  # 秒小数点后面的差值    print('endTime={},startTime={},时间差值={}'.format(endTime, startTime, total_seconds))    return total_seconds

代码调用

if __name__ == '__main__':    print(date_time_count_ms("2021-12-06 19:40:44.123","2021-12-08 14:26:40.567"))

执行结果

endTime=2021-12-08 14:26:40.567,startTime=2021-12-06 19:40:44.123,时间差值=153956.444

153956.444

感谢各位的阅读,以上就是"Python如何实现自动计算特定格式的时间差"的内容了,经过本文的学习后,相信大家对Python如何实现自动计算特定格式的时间差这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

时间 差值 格式 标准 标准时 时间差 代码 小时 精确 两个 之间 输入 天数 类型 结果 学习 输出 内容 函数 小数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网与科技 华服互联网科技靠谱吗 互联网和科技技术 互联网科技有限公司图片 易互联网科技有限公司 无线互联网科技 互联网科技的未来发展 互联网科技英文翻译 广西拼得多互联网科技有限公司 互联网科技实习生岗位职责 黑科技闪耀互联网之光 互联网5g黑科技有哪些 云南省自由互联网科技有限公司 启辰互联网科技 2021世界互联网领先科技成果发布 互联网科技企业商标注意事项 互联网科技职业技能培训学校 河南商务圈互联网科技有限公司 东风日产互联网科技公司叫什么 前海云享互联网科技 互联网科技公司税收优惠 盈实互联网科技 互联网科技未来 科技与互联网发展 广州互联网络科技有限公司 互联网与医疗科技 深圳育鹏互联网科技有限公司招聘 乌苏新华互联网科技做什么的 兰石爱特工业互联网科技分公司 深圳互联网科技园地址
0