我从QDateTimeEdit获取日期并将其转换为秒,如下所示:
I take date from QDateTimeEdit and convert it to seconds like this:
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()而无需这些字符串转换?
This works well, but since it looks to long to me, my question is: Is it possible to convert self.__ui.dateTimeEdit.date() directly, without those string conversions?
EDIT1 不幸的是,如falsetru所建议的,toMSecsSinceEpoch()对我不起作用.
EDIT1 Unfortunately toMSecsSinceEpoch() as falsetru suggested, doesn't work for me.
AttributeError: 'QDateTime' object has no attribute 'toMSecsSinceEpoch'我正在将PyQt 4.7.1用于Python 2.6
I'm using PyQt 4.7.1 for Python 2.6
EDIT2 基于jonrsharpe的回答,我逃脱了字符串转换:
EDIT2 based on jonrsharpe's answer I've escaped string conversions:
date = self.__ui.dateTimeEdit.date().toPyDate() seconds = time.mktime(date.timetuple())结果是相同的.
EDIT3 基于falsetru的评论甚至更短的解决方案:
EDIT3 even shorter solution based on falsetru's comment:
self.__ui.dateTimeEdit.dateTime().toTime_t()推荐答案
使用 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更多推荐
将QDate转换为秒
发布评论