首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将QDate转换为秒

将QDate转换为秒
EN

Stack Overflow用户
提问于 2014-02-20 08:06:47
回答 2查看 2.5K关注 0票数 2

我从QDateTimeEdit中获取日期并将其转换为秒,如下所示:

代码语言:javascript
复制
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()不适合我。

代码语言:javascript
复制
AttributeError: 'QDateTime' object has no attribute 'toMSecsSinceEpoch'

我在Python2.6中使用PyQt 4.7.1

EDIT2基于jonrsharpe的回答--我已经转义了字符串转换:

代码语言:javascript
复制
    date = self.__ui.dateTimeEdit.date().toPyDate()
    seconds = time.mktime(date.timetuple()) 

结果是一样的。

基于falsetru的评论,EDIT3的解决方案甚至更短:

代码语言:javascript
复制
self.__ui.dateTimeEdit.dateTime().toTime_t()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-20 08:14:05

使用QDateTime.toMSecsSinceEpoch

代码语言:javascript
复制
>>> import PyQt4.QtCore
>>> d = PyQt4.QtCore.QDateTime(2014, 2, 20, 17, 10, 30)
>>> d.toMSecsSinceEpoch() / 1000
1392883830L

更新

替代使用QDateTime.toTime_t

代码语言:javascript
复制
>>> d = PyQt4.QtCore.QDateTime(2014, 2, 20, 17, 10, 30)
>>> d.toTime_t()
1392883830L
票数 2
EN

Stack Overflow用户

发布于 2014-02-20 08:14:39

你从那里得到的QDate

代码语言:javascript
复制
self.__ui.dateTimeEdit.date()

有另一个方法toPyDate,它将为您节省一个字符串的往返行程。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21901736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档