我被困在转换的日期时间象一个时间戳libpcap捕获的文件格式(还用于通过查看, 文件格式definitiom)。时间戳我不能管理转换成我的目的是时间戳在分组(记录)header(guint32ts_sec和guint32ts_usec).

有帮助吗?

解决方案

您可以像这样:

DateTime dateToConvert = DateTime.Now;
DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, 0);
TimeSpan diff = date - origin;

// Seconds since 1970
uint ts_sec = Math.Floor(diff.TotalSeconds);
// Microsecond offset
uint ts_usec = 1000000 * (diff.TotalSeconds - ts_sec);

其他提示

这是最好的任何操作之前,Unix纪元你的dateToConvert转换为UTC。存在用于日期时间一个构造函数一个DateTimeKind用于构建UnixEpoch,并且存在用于dateToConvert一个ToUniversalTime()方法。如果你总是希望现在,有一个方便的DateTime.UtcNow属性,需要照顾的那个你。作为编写的代码不应该有任何问题,但如果你把这个函数,UTC日期可以通过与UTC的目标日期和本地Unix纪元工作,除非你是在格林尼治标准时间肯定不会给出正确的结果不上夏令时。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top