C#中的系统时间

时间:2018-09-19 18:36:21

标签: c# systemtime

在Windows Vista上的C#中-7(点网4.0或更低)

我正在尝试比较登录时间,当前时间和文件的修改时间的值,以查看哪个更大,哪个最小。我已经找到了声明和强制转换这三个值的方法,但它们不是同一类型。我认为Unix纪元以来的使用率最高,而且似乎坚持转换

的长格式
File.GetLastWriteTime("time.cs" )

显然,溢出是个问题,谁会猜到,而不是我的。如此出色的操作系统和语言。无论如何。有人可以给我一个完整的示例,该示例如何转换返回值并将文件的修改时间输出到int32 unix epoch。或者,有人可以向我展示完整的示例,如何比较上述三个值,而不用拖曳日志文件或不使用jQuery或定义超出我要求范围的函数或语言。速度是关键,参数不是必需的。

1 个答案:

答案 0 :(得分:-1)

尖锐的人群没有答案吗?有一个惊喜。好吧,这大约和一年中有365天一样精确,但就我的目的而言,它将起作用。因为两种形式的内建非遍历日期时间是不够的。为了所有的乐趣,请在12月10日前进行。解决方案:

DateTime dt = File.GetLastWriteTime("time.cs");

var sec = ( ( dt.Year - 1970 )*31536000) + (dt.Month*2592000) + (dt.Day*86400) + (dt.Hour*3600) + (dt.Minute*60) + (dt.Second * 1) - 2592000 - 86400;

我认为对于Windows,这实际上被认为是有效的。谁能告诉我为什么DateTime不仅被视为字符串?是base24取代base 16还是其他东西?我们是否仅出于msns效率低的问题向我们的处理器添加了寄存器?我要走梯子。前端的便利性不是后端丑陋的借口。接下来,我将发布一个纯粹的汇编答案,内容涉及如何通过基数2和127位寻址将gregorian转换为纪元……疯狂。