2017-06-18 111 views
0

我有这样的代码:日期输入格式?

import time 
import datetime 
def dates(): 
    date1 = str(input('Date start: ')) 
    try: 
     dt_start = datetime.strptime(date1, '%d, %m, %Y') 
    except ValueError: 
     print ("Incorrect format") 
    date2 = str(input('Date end: ')) 
    try: 
     dt_end = datetime.strptime(date2, '%d, %m, %Y') 
    except ValueError: 
     print ("Incorrect format") 
    if date1 > date2: 
     print("Error!") 
    dates() 

我想定义就像d.m.Y.日期输入格式

例如,输入“17.12.1995”时。我得到错误: 'module' object has no attribute 'strptime'

如何定义用户输入格式?

+1

你想输入'd.m.Y'?这不是你的代码所期望的。 –

+0

你的strptime只接受'dd,mm,yyyy'格式的date1值,即'1,8,8 2017',你甚至需要输入空间。 – Gahan

回答

2

datetime是一个模块,里面有一个同名的类(datetime),该类有一个类方法strptime()。你需要或者把它想:

dt_start = datetime.datetime.strptime(date1, '%d, %m, %Y') 

,或者改变您的import语句:

from datetime import datetime 

,使其仅导入datetime类到当前的命名空间。

+0

我尝试了两种方法,但现在当我尝试使用'dt_start = datetime.datetime.strptime(date1,'%d,%m,%Y')' 我得到错误类型对象'datetime.datetime' datetime' –

+0

@你好 - 根据你的需要选择一个或另一个。 – zwer