Seite 1 von 1
Datum formatierung
Verfasst: Freitag 1. Juni 2018, 11:04
von Omm
Hallo zusamme
ich habe ein Datumformat das so "Wed Jun 1 00:00:00 2018" aussieht.
Nun soll das aber so "01.06.2018" aussehen.
Muss ich das über einen String mache? Denke mal nicht. Herr Google konnte mir da nicht helfen.
Hat jemand einen Link oder ne Lödung für mich.
Re: Datum formatierung
Verfasst: Freitag 1. Juni 2018, 11:12
von Sirius3
Du hast doch schon einen String. Also mußt Du es über einen String machen, was Du auch immer damit meinst. Es gibt `datetime.datetime.strptime`, das auch mit Monatsnamen umgehen kann (%b).
Re: Datum formatierung
Verfasst: Freitag 1. Juni 2018, 12:04
von Omm
Code: Alles auswählen
required_date = datetime.strptime(self.stardatum, "%a %m %d %H:%M:%S %Y")
kommt die Fehlermeldung :
required_date = datetime.strptime(self.stardatum, "%a %m %d %H:%M:%S %Y")
TypeError: strptime() argument 1 must be str, not DateTime
d.h. es ist ein Datumformat, oder nicht?
und wenn ich es über str mache kommt.
Code: Alles auswählen
required_date = str(self.stardatum)
required_date = datetime.datetime.strptime(required_date, "%a %m %d %H:%M:%S %Y")
print(required_date)
required_date = datetime.datetime.strptime(required_date, "%a %m %d %H:%M:%S %Y")
AttributeError: type object 'datetime.datetime' has no attribute 'datetime'
Re: Datum formatierung
Verfasst: Freitag 1. Juni 2018, 12:19
von sls
Es wäre hilfreich wenn du auch zeigst, wie du `self.stardatum` erzeugst. Entweder du erzeugst das Datum on the fly und formatierst es entsprechend:
Code: Alles auswählen
>>> datetime.date.today().strftime("%d.%m.%Y")
'01.06.2018'
Oder aber du hast ein fixes Datum das nicht gerade erst erzeugt wurde:
Code: Alles auswählen
>>> stardatum = datetime.date(2018, 6, 1)
>>> stardatum.strftime("%d.%m.%Y")
'01.06.2018'
Re: Datum formatierung
Verfasst: Freitag 1. Juni 2018, 12:30
von Omm
Code: Alles auswählen
# Kalender
self.start_cal_box = wx.adv.DatePickerCtrl(self.panel, wx.ID_ANY,
style=wx.TAB_TRAVERSAL | wx.adv.DP_DROPDOWN | wx.adv.DP_SHOWCENTURY | wx.adv.DP_ALLOWNONE,
size=(BREITE, -1))
self.Bind(wx.adv.EVT_DATE_CHANGED, self.StartOnDateChanged, self.start_cal_box)
def StartOnDateChanged(self, evt):
self.stardatum = self.start_cal_box.GetValue()
Es kommt aulso vom Frame her als Datumformat.
Re: Datum formatierung
Verfasst: Freitag 1. Juni 2018, 17:34
von sls
Er holt sich die Zeit also via wx.DateTime. Dann musst du die entsprechenden Werkzeuge der wx-Library zum parsen des Datums verwenden.
Ungetestet:
Hier steht, wie man das machen kann:
https://wxpython.org/Phoenix/docs/html/ ... ime.Format