19

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

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

4

3 回答 3

23

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)
于 2011-12-12T01:17:49.917 回答
18

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)

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)
于 2011-12-12T01:27:15.847 回答
2
print(self.dte1.date().getDate())
print(self.dte1.date().toString("yyyy-MM-dd"))

你只需要toString()python字符串的方法

于 2017-09-15T09:08:27.947 回答