当前位置: 首页 > 编程笔记 >

C++设置系统时间及系统时间网络更新的方法

胡璞瑜
2023-03-14
本文向大家介绍C++设置系统时间及系统时间网络更新的方法,包括了C++设置系统时间及系统时间网络更新的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了C++设置系统时间及系统时间网络更新的方法。分享给大家供大家参考。具体实现方法如下:

//根据返回的时间设置系统时间

void setTimeFromTP(ULONG ulTime)

{  

    FILETIME ft;  

    SYSTEMTIME st;  

  

    //将基准时间转换成windows文件时间  

    st.wYear = 1900;  

    st.wMonth = 1;  

    st.wDay = 1;  

    st.wHour = 0;  

    st.wMinute = 0;  

    st.wSecond = 0;  

    st.wMilliseconds = 0;  

  

    SystemTimeToFileTime(&st, &ft);  

  

    LONGLONG* pLLong = (LONGLONG*)&ft;  

    *pLLong += (LONGLONG)10000000*ulTime;  

    FileTimeToSystemTime(&ft, &st);  

    ::SetSystemTime(&st);  

}  

  

void main()  

{  

    CInitSock initSock;  

    SOCKET s = ::socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);  

    if (s == INVALID_SOCKET)  

    {  

        printf("socket error...");  

        return;  

    }  

    sockaddr_in servAddr = {0};  

    servAddr.sin_family = AF_INET;  

    servAddr.sin_port = ::htons(37);  

    servAddr.sin_addr.S_un.S_addr = ::inet_addr("69.25.96.13"); //别用210.72.145.44这个IP, 这是天朝的 常TMD不返回值  

    if (SOCKET_ERROR == ::connect(s, (sockaddr*)&servAddr, sizeof(servAddr)))  

    {  

        printf("connect error..");  

        return;  

    }  

  

    //接收时间  

    ULONG ulTime = 0;  

    int nRecv = ::recv(s, (char*)&ulTime, sizeof(ulTime), 0);  

    if (nRecv > 0)  //收到数据  

    {  

        ulTime = ::ntohl(ulTime);  

        setTimeFromTP(ulTime);  

    }  

    else  

    {  

        printf("recv error...");  

        return;  

    }  

      

    ::closesocket(s);  

    printf("*******************************");  

    getchar();  

}

希望本文所述对大家的C++程序设计有所帮助。

 类似资料:
  • 本文向大家介绍Android获取系统时间以及网络时间,包括了Android获取系统时间以及网络时间的使用技巧和注意事项,需要的朋友参考一下 项目开发中,很多时候会用到android的时间,罗列一下获取的时间的方式,和大家共同学习进步 一、获取系统时间  1.通过Calendar类来获取系统当前的时间  打印结果如下:  calendar--->>>当前时间为:2016年 6月 13日 14时 38

  • 不论是在我自己机器上还是其他主机上,只要部署了dokuwiki,其系统时间(也就是修改或者提交的记录时间)都会比我的本机时间晚8个小时。比如,我的本机时间是2011\9\20 22:00:00,那么记录时间就会是2011\9\20 14:00,请问如果要更改为本机时间,怎么修改? 1楼的。。。是修改linux系统的cmos时间吧,牛头不对马嘴。。。。。。 我的dokuwiki是部署在windows

  • 本文向大家介绍linux系统下的时间配置综述,包括了linux系统下的时间配置综述的使用技巧和注意事项,需要的朋友参考一下 一.时间类型分为: 1.网络时间(设置时区,ntp服务器同步的时间) 2.系统时间,当前系统所显示的时间 3.硬件(RTC)时间,主板上面Bios的时间 一般设置为:系统时间与网络时间同步,系统时间写入硬件时间。 二.时间的查看方式: 1.查看硬件时间 2.查看系统时间 3.

  • 系统设置 系统设置包含多个设置项,部分设置项已在特定功能下予以说明,此处仅对无说明的设置进行解释。 1.基础设置 基础设置包企业基本信息、基本对话设置、系统提示语设置及,知识审核开关三大设置 基础设置可对企业的行业、名称进行初步的设置,知识审核开关是开启/关闭知识审核的功能按钮 基本对话设置包括: 匹配模式设置:不同匹配模式对应答案命中率和置信高低,智能匹配由系统自动选择匹配度,精准匹配当问题完全

  • 我正在尝试理解这些调度算法: 先到先得(FCFS) 最短作业优先(SJF) 最短剩余时间(SRT) 循环赛(RR) 因此,给定一些输入: FCFS将安排为。 我似乎无法弄清楚其余的。有人可以帮助我解释差异吗? 我试过谷歌搜索,但我为SJF得到的结果有点令人困惑。

  • 本文向大家介绍VC++ 获取系统时间的方法汇总,包括了VC++ 获取系统时间的方法汇总的使用技巧和注意事项,需要的朋友参考一下 1.使用CTime类(获取系统当前时间,精确到秒) a,从CTimet中提取年月日时分秒 b,计算两段时间的差值,可以使用CTimeSpan类,具体使用方法如下: c,获得当前日期和时间,并可以转化为CString 2.使用GetLocalTime:Windows API