【问题标题】:How do I store input dates from users into a Variable using Python?如何使用 Python 将用户的输入日期存储到变量中?
【发布时间】:2021-01-31 16:53:45
【问题描述】:

我在试图弄清楚这一点时遇到了一些麻烦。我目前正在大学学习 Python 课程,我们目前正在研究函数和日期。说明是: 用户必须分别输入日期:年、月和日。我已经阅读了许多类似于 Python 日期格式的文章,但是,我尝试的所有内容都会给我带来不同的错误。

到目前为止,这是我的代码:

import calendar
from datetime import date
from datetime import datetime
from datetime import timedelta

print("Enter the year: ")
year = input()

print("Enter the month: ")
month = input()

print("Enter the day: ")
day = input()

#this is where the input dates should be saved
dateEntered = 

#this is somewhat what I'm guessing the output should be
print("The date entered was: " + str(dateEntered))

我们已经介绍了以下内容:

now = datetime.now()
new_date = now + timedelta(days=+3)
print(new_date)

但是,我无法弄清楚如何将用户的这些输入存储到一个可以打印出来的变量中。

任何建议将不胜感激!

谢谢!

【问题讨论】:

  • 你为什么不想做dateEntered = datetime.date(year, month, day)
  • @bruno:我确实尝试过dateEntered = datetime.date(year, month, day),但我得到了这两个错误:如果我这样做day = int(input("Enter day: ")),我得到'datetime.date'对象的描述符'date'不适用于一个“int”对象。如果我这样做date = input(),我会得到 'datetime.date' 对象的描述符 'date' 不适用于 'str' 对象。
  • 是的,你读过字符串,就做int(year)etc,看看我的答案

标签: python variables python-datetime


【解决方案1】:

你可以这样做:

import datetime

print("Enter the year: ")
year = input()

print("Enter the month: ")
month = input()

print("Enter the day: ")
day = input()

dateEntered = datetime.date(int(year), int(month), int(day))

print("The date entered was:", dateEntered)
print("The date entered was:", dateEntered.strftime("%y/%m/%d"))
print("The date entered was:", dateEntered.strftime("%Y/%m/%d"))
print("The month entered was:", dateEntered.month)

执行:

pi@raspberrypi:~ $ python3 /tmp/p.py 
Enter the year: 
2021
Enter the month: 
1
Enter the day: 
31
The date entered was: 2021-01-31
The date entered was: 21/01/31
The date entered was: 2021/01/31
The month entered was: 1
pi@raspberrypi:~ $ 

【讨论】:

  • 我仍然收到相同的 descriptor 'date' for 'datetime.date' objects doesn't apply to a 'int' object. 错误。就像你打字一样,我逐字逐句。我仔细检查了我的导入,以确保我得到了正确的并且看起来如此。
  • 如果我使用programiz.com/python-programming/online-compiler 执行我的代码,一切正常
  • 好吧,我想我明白了。我有from datetime import datetime,然后我继续将其更改为import datetime,它似乎正在工作。
  • 它工作正常。出于某种原因,教授在他的代码中有from datetime import datetime,并且由于他们回顾了非常基本的事情,它可能没有发现他身边的错误,但由于任务非常详细,它杀死了我。谢谢!
猜你喜欢
  • 2022-11-23
  • 2021-03-17
  • 2018-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多