在 Python 中根据用户输入创建日期

在 Python 中根据用户输入创建日期

Create a date from user Input in Python

从用户输入创建日期:

  1. 使用input()函数从用户那里获取输入。
  2. 取年、月、日的值。
  3. 使用模块中的date()datetime来创建日期。
主程序
from datetime import date, datetime year = int(input('Enter a year: ')) month = int(input('Enter a month: ')) day = int(input('Enter a day: ')) d = date(year, month, day) print(d) # --------------------------------------- # 👇️ date and time hours = int(input('Enter the hour: ')) minutes = int(input('Enter the minutes: ')) seconds = int(input('Enter the seconds: ')) dt = datetime(year, month, day, hours, minutes, seconds) print(dt)

从用户输入创建日期

我们使用该input()函数从用户那里获取输入。

输入函数接受一个可选prompt参数并将其写入标准输出而没有尾随换行符

然后该函数从输入中读取该行,将其转换为字符串并返回结果。

请注意,input()即使用户输入数字,该函数也保证返回一个字符串。

这就是为什么我们必须在int()将值传递给date()datetime()类之前使用类来转换值。

主程序
from datetime import date year = int(input('Enter a year: ')) month = int(input('Enter a month: ')) day = int(input('Enter a day: ')) d = date(year, month, day) print(d)

如果您需要创建一个datetime对象,还需要为小时、分钟和秒取值。

主程序
from datetime import datetime year = int(input('Enter a year: ')) month = int(input('Enter a month: ')) day = int(input('Enter a day: ')) hours = int(input('Enter the hour: ')) minutes = int(input('Enter the minutes: ')) seconds = int(input('Enter the seconds: ')) dt = datetime(year, month, day, hours, minutes, seconds) print(dt)

或者,您可以从用户那里获取单个输入值并将其拆分为日期组件。

从用户输入创建日期:

  1. 使用该input()函数获取格式为YYYY-MM-DD.
  2. 拆分连字符上的输入值并将日期组件转换为整数。
  3. 使用模块中的date()datetime来创建日期。
主程序
from datetime import date date_components = input('Enter a date formatted as YYYY-MM-DD: ').split('-') print(date_components) year, month, day = [int(item) for item in date_components] d = date(year, month, day) print(d)

从用户输入一行创建日期

我们使用该input()函数获取格式化为的字符串,YYYY-MM-DD并使用该str.split()方法在每个连字符上拆分它。

str.split ()
方法使用定界符将字符串拆分为子字符串列表。

主程序
print('2023-11-22'.split('-')) # 👉️ ['2023', '11', '22'] print('2024-06-21'.split('-')) # 👉️ ['2024', '06', '21']

该方法采用以下 2 个参数:

姓名 描述
分隔器 在每次出现分隔符时将字符串拆分为子字符串
最大分裂 最多maxsplit完成拆分(可选)

下一步是使用列表理解将字符串转换为整数。

主程序
from datetime import date date_components = input('Enter a date formatted as YYYY-MM-DD: ').split('-') print(date_components) year, month, day = [int(item) for item in date_components] d = date(year, month, day) print(d)
列表推导用于对每个元素执行某些操作或选择满足条件的元素子集。

在每次迭代中,我们使用int()该类将当前字符串转换为整数并返回结果。

最后一步是将日期组件传递给date类以创建日期对象。

发表评论