得到局域网内某台计算机的当前时间程序

本文介绍了一个C++程序,该程序能够连接到指定的IP地址(例如192.43.244.18),并使用Windows API函数NetRemoteTOD获取远程计算机上的当前日期和时间。随后,程序会根据远程时间进行相应的时区调整(加8小时或减16小时),以匹配本地时间,并打印出格式化的日期和时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//将此程序献给大家,希望大家喜欢

 

#include "stdafx.h"

#include <stdio.h>
#include <windows.h>
#include <lm.h>
#pragma comment(lib,"Netapi32.lib")

int wmain(int argc, wchar_t *argv[])
{
 LPTIME_OF_DAY_INFO pBuf = NULL;
 NET_API_STATUS nStatus;
 LPTSTR pszServerName = NULL;

 nStatus = NetRemoteTOD(L"192.43.244.18",(LPBYTE *)&pBuf);//得到192.43.244.18的当前时间

 if (nStatus == NERR_Success)
 {
  if (pBuf != NULL)
  {
   fprintf(stderr, "/nThe current date is: %d/%d/%d/n",pBuf->tod_month, pBuf->tod_day, pBuf->tod_year);
   if(pBuf->tod_hours>=0 && pBuf->tod_hours<=15)//时间的转换
   {
    fprintf(stderr, "The current time is: %d:%d:%d/n",pBuf->tod_hours+8, pBuf->tod_mins, pBuf->tod_secs);
   }
   else if(pBuf->tod_hours>=15 && pBuf->tod_hours<=23)
   {
    fprintf(stderr, "The current time is: %d:%d:%d/n",pBuf->tod_hours-16, pBuf->tod_mins, pBuf->tod_secs);
   }
  }
 }
 else
  fprintf(stderr, "A system error has occurred: %d/n", nStatus);

 if (pBuf != NULL)
  NetApiBufferFree(pBuf);

 return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值