// 失败的方法,得不到正确的结果
// CSring转化为Ctime的办法
CString s ="2006-08-09"; // 出生日期
int nYear, nMouth, nDate;
sscanf(s, "%u-%u-%u", &nYear, &nMouth, &nDate);
CTime t(nYear, nMouth, nDate);
dlg.m_birthTime = t;
//成功的方法,可以得到正确的结果
CString s = "2006-08-09";
COleDateTime time1;
time1.ParseDateTime(s);
SYSTEMTIME systime;
VariantTimeToSystemTime(time1, &systime);
CTime tm(systime);
dlg.m_birthTime = tm;
具体原因,有时间再分析。