Seite 1 von 1
QDateTime.fromString - Formatierung wird offensichtlich nicht erkannt
Verfasst: Montag 30. Oktober 2017, 12:17
von gogo555
Hallo zusammen!
Python 3.5.2 / PyQt5
Kann mir jemand erklären, warum dieser Format-String nicht erkannt wird?:
Code: Alles auswählen
>>> from PyQt5.QtCore import QDateTime
>>> x = QDateTime.fromString("08.09.2017 06:07:08","dd.MM.YYYY hh:mm:ss")
>>> x
PyQt5.QtCore.QDateTime()
>>> x = QDateTime.fromString("08.09.2017 06:07:08","dd.MM.YYYY HH:mm:ss")
>>> x
PyQt5.QtCore.QDateTime()
jedoch:
>>> x = QDateTime.fromString("1.30. 1", "M.d. s")
>>> x
PyQt5.QtCore.QDateTime(1900, 1, 30, 0, 0, 1)
Danke!
g
Re: QDateTime.fromString - Formatierung wird offensichtlich nicht erkannt
Verfasst: Montag 30. Oktober 2017, 12:39
von pixewakb
Code: Alles auswählen
from PyQt5.QtCore import QDateTime
x = QDateTime.fromString("08.09.2017 06:07:08","dd.MM.yyyy hh:mm:ss")
print(x)
x = QDateTime.fromString("08.09.2017 06:07:08","dd.MM.yyyy HH:mm:ss")
print(x)
x = QDateTime.fromString("1.30. 1", "M.d. s")
print(x)
Verwende "yyyy" anstelle des "YYYY" und es sollte laufen. Du weißt, dass auch das datetime-Modul Möglichkeiten bietet einen Datumsstring umzuwandeln?
Re: QDateTime.fromString - Formatierung wird offensichtlich nicht erkannt
Verfasst: Dienstag 31. Oktober 2017, 02:25
von gogo555
boah - in der Doku sind wirklich kleine "y" - ich brauch' dringend eine Brille!
Die Konvertierung mittels datetime-Modul ist mir bekannt. Das gelieferte datetime-Objekt ist ident mit dem .QDateTime()-Objekt. Da ich aber in dem Projekt sowieso das ganze QtCore importiert habe wollte ich mir den extra Import von datetime sparen.
Code: Alles auswählen
>>> from PyQt5.QtCore import QDateTime
>>> import datetime
>>> a = QDateTime.fromString ("08.09.2017 06:07:08", "dd.MM.yyyy HH:mm:ss")
>>> b = datetime.datetime.strptime("08.09.2017 06:07:08", "%d.%m.%Y %H:%M:%S" )
>>> a == b
True
>>>
... und was ich auch nicht wusste, ist, dass QDateTimeEdit.setDateTime(self, QDateTime dateTime) ein QDateTime-Objekt ODER ein dateTime-Objekt benötigt!
Vielen Dank!
g
Re: QDateTime.fromString - Formatierung wird offensichtlich nicht erkannt
Verfasst: Dienstag 31. Oktober 2017, 08:43
von snafu
Bei strenger Trennung zwischen GUI und Geschäftslogik wäre das Parsen eines Datums ein Teil der Logik. Zwecks Austauschbarkeit ist es dann schon sinnvoller, bei der Logik von
datetime abhängig zu sein, weil das in der Standardbibliothek mit dabei ist. Nur mal so als Argument für
datetime...
