编写函数,输入一个字符串,以如下格式存储为日期和时间(24小时制),“MM/DD/YYYY HR:MIN:SEC”,并输出如下内容:
DD/MM/YYYY
HR: MIN :SEC
MM/YYYY
时间是“AM”或“PM”
函数中需要进行验证。例如,如果用户输入“122/04/1990 13:12:12”,该字符串是无效的。考虑所有可能的错误输入,并编写代码进行处理。
望采纳
import time
from datetime import datetime
"""
测试数据
18/2/1999 1:1:1
10/2/1999 12:1:100
12/-12/1999 1:1:1
12/12/1999 1-1-1
"""
input_date = input("请输入正确的时间格式(MM/DD/YYYY HR:MIN:SEC):")
f = '%m/%d/%Y %H:%M:%S'
try:
timestamp = datetime.strptime(input_date, f).timestamp()
print(time.strftime("%d/%m/%Y", time.localtime(timestamp)))
print(time.strftime("%H:%M:%S", time.localtime(timestamp)))
print(time.strftime("%m/%Y", time.localtime(timestamp)))
res = 'PM' if 12 < int(time.strftime("%H", time.localtime(timestamp))) < 24 else 'AM'
print(res)
except Exception as e:
print("格式输入错误或数字超出时间范围!",e)