BYTE data[4];
data[0] = 0x44;
data[1] = 0x33;
data[2] = 0x9B;
data[3] = 0xB8;
表示的是UNIX格式时间,转换后结果应该是"2006-4-5 10:28:08",谁知道如何转换的呀?
使用time.h系列函数?

解决方案 »

  1.   

    CTime和COleDataTime都很好用呀,可以直接转换为long值或double值
      

  2.   

    COleDataTime time=COleDataTime::GetCurrentTime();
    CString str=time.Format("%Y-%m-%d %H:%M:%S");
    输出str
      

  3.   

    char strtime[256] = {0};
    CTime time = CTime::GetCurrentTime();
    sprintf(strtime,"%04d-%02d-%02d %02d:%02d:%02d",time.GetYear(),.....);
      

  4.   

    COleDateTime odtResult = COleDateTime(1970, 1, 1, 0, 0, 0) + COleDateTimeSpan((double)0x44339BB8/3600/24);
    AfxMessageBox(odtResult.Format("%Y-%m-%d %H:%M:%S"));
      

  5.   

    错了,
    我的BYTE data[4]已经是时间值了,不需要再获取时间,只是转换它而已.
      

  6.   

    to qlming
    结果正确了,怎么把BYTE[4]转换成你的0x44339BB8呀?
      

  7.   

    long lTimeSpan = data[0] << 24 | data[1] << 16 | data[2] << 8 | data[3];