来自秒和微秒的数据包的日期时间

DateTime of packet from Seconds and Microseconds

我有 class 打开 Pcap file 并有这 2 个成员:SecondsMicroseconds(均为 int)。 我如何从这 2 个字段创建 DateTime

这是我尝试过的:

DateTime dateTime = new DateTime(1970, 1, 1, 0, 0, packet.Seconds);

并收到此错误:

Hour, Minute, and Second parameters describe an un-representable DateTime.

问题是该构造函数中的秒参数必须介于 0 和 59 之间(含)。你真正想要的是 1970-1-1 加上秒数。

var dateTime = new DateTime(1970, 1, 1).AddSeconds(packet.Seconds).AddSeconds(packet.Microseconds / 1000000.0);

代码:

var dateTime = new DateTime(1970, 1, 1).AddSeconds(packet.Seconds).AddTicks(packet.Microseconds * 10);