# 功能:輸入一個時間,格式化輸出該時間的下一秒
#!/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
