在unicode字符集上 CTIME 转CString 日期可以用但是时间有有关问题

在unicode字符集下 CTIME 转CString 日期可以用但是时间有问题?
代码
CTime time1 = CTime::GetCurrentTime();
CString m_strtime;
m_strtime.Format(_T("%s"),time1.Format("%Y-%m-%d %H"));
这样转出来的字符串 是有效的;
但是如果这样
m_strtime.Format(_T("%s"),time1.Format("%Y-%m-%d %H:%M:%S"));
只是加了分和秒 就有问题了?
求大神!!~~~~
------最佳解决方案--------------------
CTime time = CTime::GetCurrentTime();
CString strTime;
strTime.Format(_T("%s"), time.Format(_T("%y-%m-%d %H:%M:%S")));
AfxMessageBox(strTime);

------其他解决方案--------------------
先看你的时间格式是否符合规定
------其他解决方案--------------------
调试时  内存中看到的 没有问题 但是用起来 就有问题。
------其他解决方案--------------------
引用:
C/C++ code?1234CTime time = CTime::GetCurrentTime();    CString strTime;    strTime.Format(_T("%s"), time.Format(_T("%y-%m-%d %H:%M:%S")));    AfxMessageBox(strTime);


我打印出来的没有问题 只是当加入冒号(中文和英文输入法都试过)的时候,那块数据在我以后的调用中就有问题了,不加冒号是没有问题的;
在后面我会用到这个
TCAHR *ch = m_strtime.GetBuffer();
SendMessage(m_hWnd, WM_CAP_FILE_SAVEDIBW, 0,(LPARAM)ch);  
------其他解决方案--------------------
感谢大家 问题已解决;文件系统命名时 不能有冒号