考虑以下简单的代码:
TimeSpan ts = (DateTime.UtcNow - new DateTime(1970, 1, 1));
UInt64 microTimestamp = (Convert.ToUInt64(ts.TotalSeconds))*1000000;
Console.WriteLine ("Now: " + DateTime.UtcNow.ToString());
Console.WriteLine ("Microtimestamp: " + microTimestamp);
我已经将它编译为exe并在两台机器上执行它:
设备1:MacBook
现在:12.12.2013 16:26:57
Microtimestamp:1386865617000000
设备2:Raspberry Pi
现在:735214/00/0001 16:25:14
Microtimestamp:0
两个设备都正确设置了日期和时间(我在操作系统的控制面板中检查过)。为什么Raspberry没有产生正确的结果?
答案 0 :(得分:5)
我的通灵调试能力告诉我你正在使用“硬浮动”Raspbian(而不是“软浮动”.Rasphian默认分配“硬浮动”构建(因为它更快),但目前有{{ 3}}关于浮点数调用约定问题引起的“硬浮点”发行版。
您的选择是:
另见