Seite 1 von 1

Zeitangabe bzw. Datumsangabe

Verfasst: Donnerstag 29. Januar 2015, 08:26
von Kalli87
Guten Morgen Forum,

ich hab folgendes Problem.
Ich möchte immer das Aktuelle Datum haben und dieses dann ich meine
Datenbank übertragen wenn Daten geändert werden.
Soll heißen wenn ich in meiner Oberfläche z.B. einen Kunden aufrufe
dessen Anschrift ändere weil er umgezogen ist und die Daten abschicke
das dann in der Datenbank die jeweiligen Felder die geändert wurden
eingetragen werden und das Datum von dem jeweiligem Tag.

Das Datum selbst hab ich mir schon per "print" Angabe anzeigen lassen
nur bin ich nicht ganz mit der Formatierung zufrieden.

Code: Alles auswählen

print(zeit)
da spuckt er mir es so aus = 29, 1, 2015
da stört mich jetzt das Komma und das Leerzeichen

Ich wollte das ganze mit "replace" ersetzen aber leider bekomme ich
eine Fehlermeldung die mir das ganze nicht erlaubt.

Nun die meine Frage an euch: Wie kann ich denn die Ausgabe bzw. das Datum
so anpassen da es so aussieht? --> 29.1.2015

Gruß Kalli

Ps.: Hier der Code dazu

Code: Alles auswählen

ts = time.localtime()
zeit = []
zeit_tag = (ts.tm_mday)
zeit_monat = (ts.tm_mon)
zeit_jahr = (ts.tm_year)
zeit.append(zeit_tag)
zeit.append(zeit_monat)
zeit.append(zeit_jahr)
oder halt auch so geschrieben:

Code: Alles auswählen

ts = time.localtime()
zeit = (ts.tm_mday,ts.tm_mon,ts.tm_year)
print(zeit)

Re: Zeitangabe bzw. Datumsangabe

Verfasst: Donnerstag 29. Januar 2015, 08:39
von mutetella
@Kalli87
Für das, was Du vorhast, würde ich das datetime module verwenden. Schau' Dir dort einmal die ``today()`` bzw. ``now()`` Methoden an.

Die Formatierung der Ausgabe erledigst Du dann am besten mit ``format()``. In der Doku zu ``format()`` ist unter anderen auch ein ``datetime``-Beispiel.

mutetella

Re: Zeitangabe bzw. Datumsangabe

Verfasst: Donnerstag 29. Januar 2015, 08:44
von /me
Kalli87 hat geschrieben:

Code: Alles auswählen

ts = time.localtime()
zeit = (ts.tm_mday,ts.tm_mon,ts.tm_year)
print(zeit)
So erstellst du einfach die Stringrepräsentation des erzeugten Tupels. Das kann man für Debugging-Zwecke gebrauchen, aber nicht für eine kontrollierte Ausgabe.

Die Lösung dafür könnte normale Stringformatierung sein.

Code: Alles auswählen

>>> import time
>>> ts = time.localtime()
>>> print('{}.{}.{}'.format(ts.tm_mday, ts.tm_mon, ts.tm_year))
29.1.2015
Hier würde ich allerdings die passende Funktion aus dem time-Modul verwenden.

Code: Alles auswählen

>>> import time
>>> ts = time.localtime()
>>> print(time.strftime('%d.%m.%Y', ts))
29.01.2015

Re: Zeitangabe bzw. Datumsangabe

Verfasst: Donnerstag 29. Januar 2015, 08:54
von Kalli87
Danke euch beiden :)

Re: Zeitangabe bzw. Datumsangabe

Verfasst: Donnerstag 29. Januar 2015, 09:37
von Sirius3
@Kalli87: am besten läßt Du Dir das Änderungsdatum von der Datenbank direkt eintragen. Entweder per Trigger, oder indem Du beim UPDATE die SQL-Funktion NOW() übergibst. Die Datenbank sorgt dann dafür, dass das Datum auch konsistent ist, und nicht vom Client abhängt, der gerade den Eintrag macht.