【问题标题】:convert QTime into seconds将 QTime 转换为秒
【发布时间】:2013-05-05 11:17:57
【问题描述】:

如何将QTime 转换为秒?我已经用time.setHMS(0,1,0);手动设置了时间

现在,当我将此变量 time 转换为 integer 时,我想要 60 秒。我该如何做到这一点?

【问题讨论】:

  • 你的标题说输入是hh:mm:ss 格式,但是问题正文说输入是QTime。您是否尝试将 QTime 转换为经过的总秒数?
  • 我正在尝试将 QTime 转换为秒。当我看到 QTime 变量的输出时,我得到 hh:mm:ss 格式,这就是为什么我在标题中说我想将 hh:mm:ss 转换为秒。对不起,如果我错了
  • 原来的问题没有提到从午夜开始,什么时候变成了要求,还是只是为了让问题更有趣?
  • 您是如何“看到 QTime 变量的输出”的? This member 表示“如果格式为空,则使用默认格式“hh:mm:ss”。”
  • @user315052 我添加了它,因为时间仅相对于某些基线才有意义,如果没有基线,将时间转换为秒是没有意义的。 QTime 似乎有一个隐含的午夜基线,所以为了清楚起见,我添加了它,但我现在又删除了它

标签: c++ qt


【解决方案1】:

你可以这样做:

int seconds = QTime(0, 0, 0).secsTo(time);

【讨论】:

  • 当我运行这个时,我得到 0,我应该得到 60。这是我的代码:time.setHMS(0,1,0); int seconds = QTime().secsTo(time); qDebug()
  • @Alen:这对我有用。您是否尝试将其发送到coutHere is my program.
  • @Alen:你编译了我的测试程序?您的编译和链接行是什么样的?
  • 我只是将你的行复制到我的 main.cpp 文件中并编译。
  • @Alen:你可以试试:QTime(0, 0, 0).secsTo(time)
【解决方案2】:

尝试使用int seconds = QTime(0,0).secsTo(time); 它适用于Qt 5.3.0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-01
    • 2011-03-11
    • 1970-01-01
    • 1970-01-01
    • 2011-04-22
    相关资源
    最近更新 更多