pythondatetimepyqtpyqt4qdatetime

converting QdateTime to normal python dateTime?


I have a lot of existing code that just uses the normal dateTime class in python, however in upgrading my program I am using the QtGui.QdateTimeEdit() class, but that class returns a QdateTime object that seems to be incompatible with the normal dateTime object.

So, is there a sane way to convert QdateTime to normal python dateTime? Other then breaking it into its parts and recreating a normal dateTime object from that? I am using PyQt4 with Python 3.2. Thanks.


Solution

  • QDateTime has a toPyDateTime method which will return regular datetime objects.

    In : from PyQt4 import QtCore
    
    In : QtCore.PYQT_VERSION_STR
    Out: '4.8.6'
    
    In : QtCore.QT_VERSION_STR
    Out: '4.7.4'
    
    In : now = QtCore.QDateTime.currentDateTime()
    
    In : now
    Out: PyQt4.QtCore.QDateTime(2011, 12, 11, 20, 12, 47, 55)
    
    In : now.toPyDateTime()
    Out: datetime.datetime(2011, 12, 11, 20, 12, 47, 55000)