2017-06-18 152 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