我想获得当前时间(年月日)
并且和我已存在动态Array里的日期做时间差(年月日)问:我可用GetCurrentTime还是GetLocalTime
CTime sysTime = CTime::GetCurrentTime();
得到的是{time=1188357728},错了不?
我只想要年月日...
谢了先

解决方案 »

  1.   

    想最后能用CTimeSpan里的那个- 来做差
      

  2.   

    SYSTEMTIME CurTime; GetLocalTime(&CurTime); sprintf(szData,"%04d%02d%02d",CurTime.wYear,CurTime.wMonth,CurTime.wDay);
      

  3.   

    typedef struct _SYSTEMTIME
       {
            WORD wYear;
            WORD wMonth;     //January = 1, February = 2, and so on. 
            WORD wDayOfWeek; //Sunday = 0, Monday = 1, and so on
            WORD wDay;
            WORD wHour;
            WORD wMinute;
            WORD wSecond;
            WORD wMilliseconds;
        } SYSTEMTIME, *LPSYSTEMTIME;  SYSTEMTIME SysTime;
     //获得当前系统时间
     GetLocalTime(&SysTime);
     //解析数据
     CString str_Year, str_Month, str_Day, str_Hour, str_Minute;
       str_Year.Format("%d", SysTime.wYear);
     if (SysTime.wMonth < 10)
     str_Month.Format("0%d", SysTime.wMonth);
     else
     str_Month.Format("%d", SysTime.wMonth);
     if (SysTime.wDay < 10)
     str_Day.Format("0%d", SysTime.wDay);
     else
     str_Day.Format("%d", SysTime.wDay);
     if (SysTime.wHour < 10)
     str_Hour.Format("0%d", SysTime.wHour);
     else
     str_Hour.Format("%d", SysTime.wHour);
     if (SysTime.wMinute < 10)
     str_Minute.Format("0%d", SysTime.wMinute);
     else
     str_Minute.Format("%d", SysTime.wMinute);
      

  4.   


    一,使用CTime类获取系统时间
    CString str;
    CTime tm;
     tm=CTime::GetCurrentTime(); //获取系统时间
     str=tm.Format("现在时间是%Y年%m月%d日  %X");
     MessageBox(str,NULL,MB_OK);二,得到系统时间日期(使用GetLocalTime)
    SYSTEMTIME st;
    CString strDate,strTime;
    GetLocalTime(&st);
    strDate.Format("%4d-%02d-%02d",st.wYear,st.wMonth,st.wDay);
    strTime.Format("%02d:%02d:%02d",st.wHour,st.wMinute,st.wSecond);三,使用GetTickCount获得程序运行时间
    long t1=GetTickCount(); //程序段开始前取得系统运行时间(ms)
     Sleep(500);
     long t2=GetTickCount();(); //程序段结束后取得系统运行时间(ms)
     str.Format("time:%dms",t2-t1); //前后之差即 程序运行时间
     AfxMessageBox(str);
    //获取系统运行时间
    long t=GetTickCount();
     CString str,str1;
     str1.Format("系统已运行 %d时",t/3600000);
     str=str1;
     t%=3600000;
     str1.Format("%d分",t/60000);
     str+=str1;
     t%=60000;
     str1.Format("%d秒",t/1000);
     str+=str1;
     AfxMessageBox(str);