将QDateTime转换为普通Python datetime?
我有很多现成的代码,都是用普通的 dateTime
类写的。但是在升级我的程序时,我开始使用 QtGui.QdateTimeEdit()
这个类。这个类返回一个 QdateTime
对象,但它似乎和普通的 dateTime
对象不兼容。
那么,有没有简单的方法可以把 QdateTime
转换成普通的 Python dateTime
呢?除了把它拆分成各个部分,然后再重新创建一个普通的 dateTime
对象之外?我在用 PyQt4 和 Python 3.2。谢谢。
3 个回答
1
print(self.dte1.date().getDate())
print(self.dte1.date().toString("yyyy-MM-dd"))
你只需要用到 toString()
方法来处理 Python 字符串。
21
PyQt - 在 QtCore.QDateTime 对象上使用 .toPyDateTime()
>>> 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 - 在 QtCore.QDateTime 对象上使用 .toPython()
>>> 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)
25
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)