将QdateTime转换为普通的python dateTime?

Sco*_*t C 15 python datetime pyqt pyqt4 qdatetime

我有很多现有的代码只使用dateTimepython中的普通类,但是在升级我的程序时我正在使用QtGui.QdateTimeEdit()该类,但该类返回一个QdateTime似乎与普通dateTime对象不兼容的对象.

那么,有没有一种理智的方式转换QdateTime为普通的python dateTime?其他然后将其分解为部分并dateTime从中重新创建一个普通对象?我在Python 3.2中使用PyQt4.谢谢.

Ava*_*ris 20

QDateTime有一个toPyDateTime方法将返回常规datetime对象.

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)
Run Code Online (Sandbox Code Playgroud)


Joh*_*Doe 12

PyQt - .toPyDateTime()在QtCore.QDateTime对象上使用

>>> from PyQt4.QtCore import QDateTime
>>> qdate = QDateTime(2012, 12, 20, 11, 59, 59)
>>> qdate
PyQt4.QtCore.QDateTime(2012, 12, 20, 11, 59, 59)
>>> date = qdate.toPyDateTime()
>>> date
datetime.datetime(2012, 12, 20, 11, 59, 59)
Run Code Online (Sandbox Code Playgroud)

PySide - .toPython()在QtCore.QDateTime对象上使用

>>> from PySide.QtCore import QDateTime
>>> qdate = QDateTime(2012, 12, 20, 11, 59, 59)
>>> qdate
PySide.QtCore.QDateTime(2012, 12, 20, 11, 59, 59, 0, 0)
>>> date = qdate.toPython()
>>> date
datetime.datetime(2012, 12, 20, 11, 59, 59)
Run Code Online (Sandbox Code Playgroud)

  • 很高兴看到两个变种. (2认同)