【问题标题】:Subtract two QDateTime减去两个 QDateTime
【发布时间】:2021-01-08 16:33:07
【问题描述】:

我的问题是试图找出两个不同的 QDateTime 之间的时间差。我找不到减去 QDateTime 的函数。我是否必须将其转换为字符串并创建一个减法函数或将其转换为列表并创建一个减法函数。我还想在 MySql 数据库中存储时间和差异。

我知道如何使用 addSecs、addDays 等为一个 QDateTime 添加和减去秒、天、月和年。

这是一个例子:

PyQt5.QtCore.QDateTime(2000, 1, 31, 23, 0)

PyQt5.QtCore.QDateTime(2000, 2, 1, 0, 0)

2000 年 1 月 31 日星期一 23:00:00

2000 年 2 月 1 日星期二 00:00:00

['Mon', 'Jan', '31', '23:00:00', '2000']

['Tue', 'Feb', '1', '00:00:00', '2000']

代码如下:

    def enter(self):
        self.a= self.dateTimeEdit.dateTime()
        self.b= self.dateTimeEdit_2.dateTime()
        print(self.a)
        print(self.b)
        print(self.a.toString())
        print(self.b.toString())
        print(self.a.toString().split())
        print(self.b.toString().split())

时差应该是一个小时。

【问题讨论】:

    标签: python pyqt5 mysql-python qdatetime


    【解决方案1】:

    可以使用QDateTimesecsTo方法:

    返回从这个日期时间到其他日期时间的秒数。如果其他日期时间早于该日期时间,则返回值为负数。

    self.a.secsTo(self.b) 对应于从self.b 中减去self.a 并应返回3600

    另外,QDateTime 也有 msecsTodaysTo 方法分别以毫秒和天为单位,您可以以相同的方式使用它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-07
      • 2015-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多