如何根据网络时间协议(NTP v3;RFC1305)将字节数组转换为时间
我已经找到了DateTime方法,但我认为这是基于RFC1123的。
发布于 2017-11-28 22:23:37
对不起,我没有时间通读整个RFC1305,但是根据这个page上的评论
时间服务器将发送一个大端32位整数,表示自1900年1月1日格林尼治标准时间00:00 (午夜)以来的秒数。
所以我认为你应该使用BitConverter,把你的字节转换成整数,然后创建一个DateTime。如下所示:
var receivedBytes = ReceiveFromTimeServer();
if (BitConverter.IsLittleEndian)
Array.Reverse(receivedBytes);
var seconds = BitConverter.ToInt32(receivedBytes, 0);
var date = new DateTime(1900, 1, 1, 0, 0, seconds);https://stackoverflow.com/questions/47531681
复制相似问题