一、前言
获取网络时间,目的就是获取最新的时间,而不是电脑的本机时间,这种情况一般应用在程序到时间过期,禁止使用情况下。
二、环境
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,当然还可以从
获取。
四、结语
此种方式获取日期是准的,但是获取时间,小时好像有些不准,分钟和秒相对来说还是对的上的