我从QDateTimeEdit中获取日期并将其转换为秒,如下所示:
import time
from datetime import datetime
date = self.__ui.dateTimeEdit.date().toString("dd/MM/yy")
dateString = str(date)
seconds = time.mktime(datetime.strptime(dateString, "%d/%m/%y").timetuple()) 这样做很好,但由于在我看来它看起来很长,我的问题是:在没有字符串转换的情况下,可以直接转换self.__ui.dateTimeEdit.date()吗?
不幸的是,正如falsetru所建议的那样,EDIT1 toMSecsSinceEpoch()不适合我。
AttributeError: 'QDateTime' object has no attribute 'toMSecsSinceEpoch'我在Python2.6中使用PyQt 4.7.1
EDIT2基于jonrsharpe的回答--我已经转义了字符串转换:
date = self.__ui.dateTimeEdit.date().toPyDate()
seconds = time.mktime(date.timetuple()) 结果是一样的。
基于falsetru的评论,EDIT3的解决方案甚至更短:
self.__ui.dateTimeEdit.dateTime().toTime_t()发布于 2014-02-20 08:14:05
使用QDateTime.toMSecsSinceEpoch
>>> import PyQt4.QtCore
>>> d = PyQt4.QtCore.QDateTime(2014, 2, 20, 17, 10, 30)
>>> d.toMSecsSinceEpoch() / 1000
1392883830L更新
替代使用QDateTime.toTime_t
>>> d = PyQt4.QtCore.QDateTime(2014, 2, 20, 17, 10, 30)
>>> d.toTime_t()
1392883830L发布于 2014-02-20 08:14:39
你从那里得到的QDate
self.__ui.dateTimeEdit.date()有另一个方法toPyDate,它将为您节省一个字符串的往返行程。
https://stackoverflow.com/questions/21901736
复制相似问题