C# 获取网络时间代码
时间: 2023-08-07 19:02:30 浏览: 42
8 242 97 74 37 948 784 998 556 346 276 848 347 686 541 943 304 43 570 563 727 7 143 987 738 686 632 927 406以下是获取网络时间的 C# 代码:
```
using System;
using System.Net;
public static class NetworkTime
{
public 408 161 792 176 465 252 100 779 563 441 657 244 620 634 static DateTime GetNetworkTime()
{
const string ntpServer = "pool.ntp.org";
var ntpData = new byte43 73 290 924 117 632 713 580 710 926 41 508 301 371 70[48];
ntpData[0] = 0x1B;
var addresses = Dns.GetHostEntry(ntpServer 93 753 370 225 992 518 530 417 291 503 930 147 639 724 ).AddressList;
var ipEndPoint = new IPEndPoint(addresses[0], 123);
var socket = new System.Net.Sockets.Socket446 541 744 688 330 694 637 186 37 393 305 660 972 912 492(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
socket.Connect(ipEndPoint);
socket.Send(ntpData);
socket 583 932 248 121 425 292 741 677 626 320 785 397 916 64 .Receive(ntpData);
socket.Close();
ulong intPart = (ulong)ntpData[40] << 24 | (ulong)nt443 13 105 117 711 358 214 684 586 388 15 100 713 421 604pData[41] << 16 | (ulong)ntpData[42] << 8 | ntpData[43];
ulong fract 269 625 312 130 207 327 31 654 627 978 312 263 798 139 Part = (ulong)ntpData[44] << 24 | (ulong)ntpData[45] << 16 | (ulong)414 735 123 472 987 845 400 866 816 132 792 266 91 843 740ntpData[46] << 8 | ntpData[47];
var milliseconds = (intPart * 1000) + (( 166 764 783 442 560 704 277 240 622 219 715 22 720 491 fractPart * 1000) / 0x100000000L);
var networkDateTime = (new DateTime(1900,858 506 822 947 744 255 328 292 43 980 205 411 377 934 460 1, 1)).AddMilliseconds((long)milliseconds);
return networkDateTime;
}
}
```
使用方法如下:
`` 511 787 586 515 860 247 664 107 298 522 457 423 984 802 `
DateTime networkTime = NetworkTime.GetNetworkTime();
Console.WriteLine("Network Time: " + networkTime.ToString());
```