DateTime now = DateTime.Now; uint i = (uint)(now.Ticks / 10000 / (60 * 1000));C#i的值代表什么,如何把i重新转换为时间
时间: 2024-09-21 18:06:50 浏览: 33
c#中DateTime.Now函数的使用详解
5星 · 资源好评率100%
`DateTime.Now` 获取的是当前本地系统的日期和时间。代码 `DateTime.Now.Ticks` 返回的是自 1601 年 1 月 1 日 00:00:00(UTC)以来的ticks数,这是微秒级别的精度。
`(uint)(now.Ticks / 10000 / (60 * 1000))` 这部分计算将ticks除以10000(每10毫秒一个Tick),再除以60*1000(一小时有60分钟,每分钟10000毫秒),结果存储到无符号整型变量 `i` 中。所以 `i` 的值表示的是从1970年1月1日(Unix时间纪元)到现在经过了多少小时。
如果你想将 `i` 转换回对应的时间,可以这样做:
```csharp
int totalSeconds = i * (60 * 1000);
DateTime convertedTime = new DateTime(1970, 1, 1).AddSeconds(totalSeconds);
```
这里先将 `i` 回归到总秒数,然后利用 `AddSeconds()` 方法加上 Unix 时间纪元的时间,得到一个新的 `DateTime` 对象。
阅读全文