Python 3.2输入日期函数



我想写一个函数,它接受用户输入的日期,将其存储在shelve函数中,并在30天后调用时打印日期。

我想从一些简单的东西开始,比如:

import datetime
def getdate():
    date1 = input(datetime.date)
    return date1
getdate()
print(date1)

这显然行不通。

我已经使用了上面问题的答案,现在我的程序的这一部分工作了!谢谢!现在是下一部分:

我在试着写一个简单的程序,把你告诉我的日期加上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)

这给了我一个错误:年,月,日= map(int, d.split('-'))AttributeError: datetime。Date对象没有split属性

最终我想要的是2013年1月1日+ 30天,打印2013年1月30日。

提前感谢!

input()方法只能从终端获取文本。因此,您必须找到一种方法来解析该文本并将其转换为日期。

你可以用两种不同的方式:

  • 要求用户分别输入日期的三个部分,因此调用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)
    
  • 要求用户以特定格式输入日期,然后将该格式转换为年、月、日三个数字:

    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)
    

这两种方法都是示例;没有包含错误处理,例如,您需要阅读Python异常处理才能自己弄清楚。: -)

谢谢。我一直在试图找出如何将信息添加到datetime.datetime(xxx),这很好地解释了它。内容如下

datetime.datetime(year,month, day, hour, minute, second),参数均为整型。它的工作原理!

使用dateutils模块

    from dateutil import parser
    date = parser.parse(input("Enter date: "))

也可以使用

import datetime
time_str = input("enter time in this format yyyy-mm-dd")
time=datetime.datetime.strptime(time_str, "%Y-%m-%d") 

datetime.datetime.strptime()将给定的字符串按指定的格式剥离。

检查库

进口datetime

和后面的语法

date = datetime。Datetime (2013, 1,1)

相关内容

  • 没有找到相关文章

最新更新