Qt里面計算時間差


最近學習IEC-102協議,源碼用Qt進行開發。本人負責將其移至到南瑞D5000里面,領導提出,如果當前接收到15分鍾之前的數據,需要將其拋棄掉,這就需要計算時間差。做了如下實驗,為防忘卻,特將其記錄下。

包含頭文件

#include <QCoreApplication>
#include<QString>
#include<QStringList>
#include<QDateTime>

文件名記錄了該文件應當生成的時間,首先就需要提取該時間。

int main(int argc, char *argv[])
{
    QString FileNameStrU = "浙江.蛟禾光伏站_4Cwind_202004201600.rb";
    QStringList FileNameTmp = FileNameStrU.split("_");
    QString FileTime = FileNameTmp.at(2).left(12);

// QString 字符串轉成時間格式

        QDateTime time = QDateTime::FileTime.fromString("yyyMMddhhmm");

  //  獲取當前時間,可以精確到秒。

       QDateTime current _time = QDateTime::currentDateTime();

//計算時間差,先將兩時間值 轉成uint型,再進行減操作

  uint start_time = time.toTime_t();

     uint end_time = current_tome.toTime_t();

 

//計算時間差,結果為秒:

  int t_Ret = end_time - start_time;

      if(t_Ret > 15 * 60)

    printf("%s","file delay");

以上代碼輸出結果是 : file delay。

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM