python3 格式化输出给定时间的下一秒

Posted 中华酷联

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3 格式化输出给定时间的下一秒相关的知识,希望对你有一定的参考价值。

# 功能:输入一个时间,格式化输出该时间的下一秒

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan

# 功能:输入一个时间,格式化输出该时间的下一秒

def main():
    time_input = input("请输入一个时间格式的字符串")
    if input_check(time_input):
        print(next_sec(time_input))
    else:
        print(‘输入不符合要求,格式为:xx:xx:xx‘)

def input_check(time_str:str):
    ‘‘‘
    对输入作出检查,看是否符合要求
    :param time_str: 输入时间格式的字符串
    :return: 符合要求,就返回True,否则返回False
    ‘‘‘
    if time_str.count(‘:‘) != 2:   #先判断有没有两个冒号
        return False
    elif time_str.replace(":",‘‘).isdigit():

        time_temp_list = time_str.split(‘:‘)     #分隔成三段

        if int(time_temp_list[0]) >= 24:   #大于24小时
            return False
        elif (int(time_temp_list[1]) >= 60) or (int(time_temp_list[2]) >= 60):
            return False
        else:
            return True
    else:
        return False

def next_sec(time_str):
    ‘‘‘
    格式化输出给定时间的下一秒
    :param time_str: 时间字符串
    :return: 返回给定时间的下一秒
    ‘‘‘
    time_list = time_str.split(":")
    h = int(time_list[0])   #小时
    m = int(time_list[1])   #分钟
    s = int(time_list[2])   #秒钟
    s += 1
    if s == 60:
        m += 1
        s =0
        if m == 60:
            h += 1
            m = 0
            if h == 24:
                h = 0
    #转为字符串
    h = str(h)
    m = str(m)
    s = str(s)
    if len(h) == 1:   #没有十位数,补0
        h = ‘0‘ + h
    if len(m) == 1:
        m = ‘0‘ + m
    if len(s) == 1:
        s = ‘0‘ + s
    return (h + ‘:‘ + m + ‘:‘ + s)

if __name__ == ‘__main__‘:
    main()

  

 

效果:

C:Python36python.exe D:/Py/1704/day05/下一秒.py
请输入一个时间格式的字符串23:59:59
00:00:00

Process finished with exit code 0

  



以上是关于python3 格式化输出给定时间的下一秒的主要内容,如果未能解决你的问题,请参考以下文章

python3 练习题100例

如何用python编写一个函数,要求输入年月日时分秒,输出该年月日时分秒的下一秒。

Python时间处理

SQL - 手动获取给定格式的下一个可用 ID

Python3_作业

输入一个日期和时间,输出下一秒的日期和时间