Python写一个程序,输入年月日时分秒,计算它距离2006年1月1日0时0分0秒已经过去了多少秒,秒要保留小数点后三位
时间: 2024-09-14 15:10:59 浏览: 30
以下是一个Python程序,它接受用户输入的年、月、日、时、分、秒,并计算出距离2006年1月1日0时0分0秒已经过去了多少秒,结果保留小数点后三位。
```python
import datetime
def seconds_since_2006(input_date, input_time):
base_date = datetime.datetime(2006, 1, 1, 0, 0, 0)
input_datetime = datetime.datetime(input_date.year, input_date.month, input_date.day, input_time.hour, input_time.minute, input_time.second)
delta = input_datetime - base_date
return round(delta.total_seconds(), 3)
# 获取用户输入
input_date = input("请输入日期(格式:YYYY MM DD): ")
input_time = input("请输入时间(格式:HH MM SS): ")
try:
# 将输入的字符串转换为日期和时间对象
input_date_obj = datetime.datetime.strptime(input_date, "%Y %m %d")
input_time_obj = datetime.datetime.strptime(input_time, "%H %M %S")
# 计算已经过去的秒数
elapsed_seconds = seconds_since_2006(input_date_obj, input_time_obj)
# 输出结果
print(f"从2006年1月1日0时0分0秒到输入的时间已经过去了{elapsed_seconds}秒。")
except ValueError as e:
print("输入的日期或时间格式不正确,请确保日期和时间格式正确。", e)
```
这段代码首先导入了`datetime`模块来处理日期和时间。`seconds_since_2006`函数接受一个日期对象和一个时间对象,计算出与2006年1月1日0时0分0秒之间的差异,并返回保留三位小数的秒数。
用户需要按照指定的格式输入日期和时间。如果输入格式不正确,程序将捕获`ValueError`异常,并提示用户输入错误。
阅读全文