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:\Python36\python.exe D:/Py/1704/day05/下一秒.py
請輸入一個時間格式的字符串23:59:59
00:00:00

Process finished with exit code 0

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM