数据库后台有个字段是编号信息,要求编号格式是日期+后缀类似这样的 200812180001、200812180002.....20081218****....依次类推谁能给个方法实现这个功能,最后这个编号要转换成string类型~~谢谢~~~

解决方案 »

  1. 编号信息为字符串,写的时候就把编号集成进去
    CString::Format
    "%04d%02d%02d%04d",yyyy,mm,dd,xx
      

  2. SYSTEMTIME curtime;
    GetSystemTime(&curtime);
    char time[40] = {0};
    sprintf(time,"%4u%02u%02u%02u%02u%02u%03u",curtime.wYear,curtime.wMonth,curtime.wDay,curtime.wHour+8,curtime.wMinute,curtime.wSecond,curtime.wMilliseconds);
    这个time数组里存放的即为字符串形式的时间
    后缀加在后面即可要转换成整型用一个atoi函数即可(大于32位用_atoi64)
      

  3. 编号的变量根据生成规则(你没说明)生成
    CString::Format格式化字符串
      

  4. 我是这样取到日期的
    CString str = CTime::GetCurrentTime().Format("%Y%m%d");不知道怎么在str后面+后缀
      

  5. CString str;
    str.Format( _T("%s%d"), CTime::GetCurrentTime().Format( _T("%Y%m%d") ), no ); //no为你自己计算的序号
      

类似问题 »