......
         time_t tt;
::time(&tt); printf("Time:%d",tt); char *chtime;
chtime = new char[sizeof(time_t)];
memcpy(chtime, &tt, sizeof(time_t));
......
但是屏幕上显示的是:1089423348
这样的数据?为什么?

解决方案 »

  1.   

    用TM结构体啊。。
    可以分别操作年月日时分秒的。。在用sprintf写到你的字符串里面去
    哈哈 给分。
      

  2.   

    这样就可以呵呵SYSTEMTIME st;
    ::GetSystemTime(&st); CString strTemp;
    strTemp.Format("%d月%d日, %d点%d分%d秒",st.wMonth,st.wDay,st.wHour+8,st.wMinute,st.wSecond);
      

  3.   

    哦,不好意思,没看到char*  -_-b那就sprintf SYSTEMTIME st;
    ::GetSystemTime(&st);  char* a = new char[100];
    sprintf(a,"%d月%d日, %d点%d分%d秒",st.wMonth,st.wDay,st.wHour+8,st.wMinute,st.wSecond); AfxMessageBox(a);           // a就是结果了 delete [] a;
      

  4.   

    用ctime()函数就可以返回字符串的类型,但是与普通的格式不相同。你调试一下,不可以可把time_t转换成tm结构就可以了。
      

  5.   

    SYSTEMTIME tt;
    int hour, minute, second;
    ::GetLocalTime(&tt);
    printf("Time:%d%d%d",tt.wHour, tt.wMinute, tt.wSecond);hour = (unsigned int)tt.wHour;
    minute = (unsigned int)tt.wMinute;
    second = (unsigned int)tt.wSecond;memcpy(sendobj->buf+18, &hour, 1);
    memcpy(sendobj->buf+19, &minute, 1);
    memcpy(sendobj->buf+20, &second, 1);我是这样做的,但是再读取sendobj->buf[]的值的时候就不是时间了,不知道为什么?
      

  6.   

    不行,int是4个字节,而tt.wHour是WORD型的,两个字节!
    所以我换成了这样的,应该是可以的
    SYSTEMTIME tt;
    WORD hour, minute;
    ::GetLocalTime(&tt);
    printf("Time:%d%d%d",tt.wHour, tt.wMinute, tt.wSecond);hour = (unsigned int)tt.wHour;
    minute = (unsigned int)tt.wMinute;memcpy(sendobj->buf+18, &hour, 2);
    memcpy(sendobj->buf+20, &minute, 2);
      

  7.   

    这种做法是对的!Pipi0714(小兔子) , PiggyXP(【小猪】●你快乐于是我快乐), superhandsome(帅得要崩溃)  【注:排名不分先后!】
     的方法也都能行通(实际上后两者说的是同一种方法)!都给分!^_^