DWORD64 SystemTimeToDword64(SYSTEMTIME st)
{
  struct tm tm_time;
  memset(&tm_time, 0, sizeof(tm_time));
  tm_time.tm_year = st.wYear - 1900;
  tm_time.tm_mon = st.wMonth - 1;
  tm_time.tm_mday = st.wDay;
  tm_time.tm_hour = st.wHour;
  tm_time.tm_min = st.wMinute;
  tm_time.tm_sec = st.wSecond;
  time_t time = mktime(&tm_time);
  long long dw64TimeMs = time;
  dw64TimeMs *= 1000;
  
  return dw64TimeMs;
}
SYSTEMTIME stLocal; 
  //GetLocalTime(&stLocal);
  char szDate[] = "2015-07-27 11:10:58:883";
  /*sscanf(szDate, "%04d-%02d-%02d %02d:%02d:%02d:%03d",&stLocal.wYear, &stLocal.wMonth, &stLocal.wDay, &stLocal.wHour, &stLocal.wMinute, &stLocal.wSecond,  &stLocal.wMilliseconds);
  dwTime64 = SystemTimeToDword64(stLocal);*/
  sscanf(szDate, "%04hd-%02hd-%02hd %02hd:%02hd:%02hd:%03hd",&stLocal.wYear, &stLocal.wMonth, &stLocal.wDay, &stLocal.wHour, &stLocal.wMinute, &stLocal.wSecond,  &stLocal.wMilliseconds);
  dwTime64 = SystemTimeToDword64(stLocal);
  time_t timeTmp = dwTime64 / 1000;
  struct tm *ptmReal = localtime(&timeTmp);
  char szTime[64] = {0};
  if(ptmReal != NULL)
  {
    sprintf(szTime, "%04d-%02d-%02d %02d:%02d:%02d", ptmReal->tm_year+1900, ptmReal->tm_mon+1, ptmReal->tm_mday, ptmReal->tm_hour, ptmReal->tm_min, ptmReal->tm_sec);
    SetDlgItemText(IDC_EDIT_MSG, szTime);
  }