VC中的CTime数据转换为C#中的DateTime数据

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());

 

结果为:

   

49f6637b
2009 4 28 10:1:31
  
其实CTime是用一个64位大小的空间来保存数据的,但其实目前来说32位就足够了:
  
  
在C#中可以通过以下代码实现转换:
   
static DateTime CTimeToDateTime(int nTime)
{
    TimeSpan span 
= TimeSpan.FromTicks(nTime * TimeSpan.TicksPerSecond);
    DateTime time 
= new DateTime(197011).Add(span);
    time 
= time.ToLocalTime();
    
return time;
}
   
也就是说,VC中的CTime保存的时间是相对于1970年1月1日来的。
posted @ 2009-04-28 16:22  cxun  阅读(1632)  评论(0编辑  收藏  举报