VC中可以通过以下代码得到当前日期时间:
CTime time = CTime::GetCurrentTime();
printf("%x\n", time);
printf("%d %d %d %d:%d:%d\n",
time.GetYear(), time.GetMonth(), time.GetDay(),
time.GetHour(), time.GetMinute(), time.GetSecond());
printf("%x\n", time);
printf("%d %d %d %d:%d:%d\n",
time.GetYear(), time.GetMonth(), time.GetDay(),
time.GetHour(), time.GetMinute(), time.GetSecond());
结果为:
49f6637b
2009 4 28 10:1:31
2009 4 28 10:1:31
其实CTime是用一个64位大小的空间来保存数据的,但其实目前来说32位就足够了:
![](https://pic002.cnblogs.com/img/cxun/200904/2009042810124528.jpg)
在C#中可以通过以下代码实现转换:
static DateTime CTimeToDateTime(int nTime)
{
TimeSpan span = TimeSpan.FromTicks(nTime * TimeSpan.TicksPerSecond);
DateTime time = new DateTime(1970, 1, 1).Add(span);
time = time.ToLocalTime();
return time;
}
{
TimeSpan span = TimeSpan.FromTicks(nTime * TimeSpan.TicksPerSecond);
DateTime time = new DateTime(1970, 1, 1).Add(span);
time = time.ToLocalTime();
return time;
}
也就是说,VC中的CTime保存的时间是相对于1970年1月1日来的。