Python 3.2 input-date-Funktion
Ich würde gerne eine Funktion schreiben, wird ein Datum eingegeben durch den Benutzer, speichert Sie mit der Regal-Funktion und druckt das Datum von dreißig Tage später, wenn Sie aufgerufen.
Ich versuche, beginnen Sie mit etwas einfaches wie:
import datetime
def getdate():
date1 = input(datetime.date)
return date1
getdate()
print(date1)
Dieser offensichtlich nicht funktioniert.
Habe ich die Antworten auf die obige Frage und habe nun " mein Programm funktioniert! Danke!
Jetzt für den nächsten Teil:
Ich versuche zu schreiben ein einfaches Programm, das Datum, die Art und Weise Sie mich angewiesen, es zu bekommen und addiert 30 Tage.
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)
Dieser gibt mir eine Fehlermeldung:
Jahr, Monat, Tag = map(int, d....split('-'))
AttributeError: 'datetime.Datum' - Objekt hat kein Attribut 'split'
Letztlich, was ich will, ist, 01/01/2013 + 30 Tage und drucken 01/30/2013.
Vielen Dank im Voraus!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
input()
Methode kann nur nehmen text aus dem terminal. Sie müssen also herausfinden, einen Weg, um zu analysieren, dass text und verwandeln Sie es in ein Datum.Könnten Sie gehen in zwei verschiedene Arten:
Bitten Sie den Benutzer zur Eingabe der 3 Teile ein Datum getrennt, so rufen Sie
input()
drei mal wiederholt haben, schalten Sie das Ergebnis in Ganzzahlen um und bauen Datum:Bitten Sie den Benutzer, um das Datum in einem bestimmten format, dann wiederum, dass das format in die drei zahlen für Jahr, Monat und Tag:
Diese beiden Ansätze sind Beispiele; keine Fehlerbehandlung enthalten, zum Beispiel, werden Sie brauchen, um zu Lesen, bis auf Python-exception handling, das herauszufinden für sich selbst. 🙂
dateutil
analysieren können Daten in verschiedenen string-Formate automatisch.input()
funktioniert.str.split()
gibt ein Tupel mit den Elementen zwischen den split-string (also'abc-def'.split('-')
gibt Sie('abc', 'def')
.map(callable, sequence)
ruft die abrufbar für jedes element in der Reihenfolge, so dass die Saiten zugeordnet sind, zu zahlen.Dank. Ich habe versucht, herauszufinden, wie man die info auf datetime.datetime(xxx) und dies erklärt es schön. Es ist wie folgt
datetime.datetime(year,month, day, hour, minute, second)
mit Parametern alle integer. Es funktioniert!