Gre*_*106 7 python datetime input python-3.x
我想写一个函数,它接受用户输入的日期,用shelve函数存储它,并在调用后30天打印日期.
我想尝试一些简单的事情:
import datetime
def getdate():
date1 = input(datetime.date)
return date1
getdate()
print(date1)
Run Code Online (Sandbox Code Playgroud)
这显然不起作用.
我已经使用了上述问题的答案,现在我的程序部分正在运行!谢谢!现在是下一部分:
我正在尝试编写一个简单的程序,按照你指示我的方式获取日期并增加30天.
import datetime
from datetime import timedelta
d = datetime.date(2013, 1, 1)
print(d)
year, month, day = map(int, d.split('-'))
d = datetime.date(year, month, day)
d = dplanted.strftime('%m/%d/%Y')
d = datetime.date(d)+timedelta(days=30)
print(d)
Run Code Online (Sandbox Code Playgroud)
这给了我一个错误:年,月,日= map(int,d.split(' - '))AttributeError:'datetime.date'对象没有属性'split'
最终我想要的是01/01/2013 + 30天并打印01/30/2013.
提前致谢!
Mar*_*ers 17
该input()方法只能从终端获取文本.因此,您必须找到一种方法来解析该文本并将其转换为日期.
你可以用两种不同的方式解决这个问题:
要求用户分别输入日期的3个部分,因此请调用input()三次,将结果转换为整数,并构建日期:
year = int(input('Enter a year'))
month = int(input('Enter a month'))
day = int(input('Enter a day'))
date1 = datetime.date(year, month, day)
Run Code Online (Sandbox Code Playgroud)要求用户以特定格式输入日期,然后将该格式转换为年,月,日三个数字:
date_entry = input('Enter a date in YYYY-MM-DD format')
year, month, day = map(int, date_entry.split('-'))
date1 = datetime.date(year, month, day)
Run Code Online (Sandbox Code Playgroud)这两种方法都是例子; 例如,没有包含错误处理,您需要阅读Python异常处理以便自己解决这个问题.:-)
| 归档时间: |
|
| 查看次数: |
54794 次 |
| 最近记录: |