我从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()
,而不进行字符串转换?
EDIT1
不幸的是toMSecsSinceEpoch()
作为falsetru建议,对我不起作用。
AttributeError: 'QDateTime' object has no attribute 'toMSecsSinceEpoch'
我正在使用PyQt 4.7.1 for Python 2.6
EDIT2 根据jonrsharpe的回答我已经转义字符串转换:
date = self.__ui.dateTimeEdit.date().toPyDate()
seconds = time.mktime(date.timetuple())
结果是一样的。
EDIT3 甚至更短的解决方案基于falsetru的评论:
self.__ui.dateTimeEdit.dateTime().toTime_t()
答案 0 :(得分:2)
使用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
答案 1 :(得分:1)