一、前言

获取网络时间,目的就是获取最新的时间,而不是电脑的本机时间,这种情况一般应用在程序到时间过期,禁止使用情况下。

二、环境

qt5.7  win8

三、正文

pro文件中添加network库

    QString aaa="19-12-15";
    QString bbb;
    QTcpSocket *socket = new QTcpSocket();
    socket->connectToHost("time-a.nist.gov", 13);
    if (socket->waitForConnected())
    {
      if (socket->waitForReadyRead())
      {
          QString str(socket->readAll());
         str = str.trimmed();
         str = str.section(" ", 1, 2);
         qDebug() <<"str  :"<< str;
         bbb=str.mid(0,8);
         qDebug() <<"bbb  :"<< bbb;
     }

    }
    socket->close();
    delete socket;


    if(bbb!=aaa){
        qDebug() <<"111";
        QMessageBox::information(this,tr("提示"),tr("已过期"));
        guoqi=true;
        QApplication* app;
        app->quit();
    }
    else{
        qDebug() <<"222";
        QMessageBox::information(this,tr("提示"),tr("欢迎使用,仅限2019年12月15日"));
        guoqi=false;
    }

 可以看到程序中获取网络时间的地址是time-a.nist.gov,当然还可以从

获取。

四、结语

此种方式获取日期是准的,但是获取时间,小时好像有些不准,分钟和秒相对来说还是对的上的

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐