如何实现stl::string和VARIANT::DATE的相互转换

qhgary 2005-04-08 12:49:08
在ATL(不能使用MFC的类),如何实现stl::string和VARIANT::DATE的相互转换,或者如何在ATL里面使用COleDateTime.目前我使用该类包含的头文件afxdisp.h,编译会报错,提示Windows.h already included MFCApps must not include windows.h.
...全文
180 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jerry 2005-04-10
  • 打赏
  • 举报
回复
如果不用COM支持类,直接用API转换也是一样:

HRESULT VariantChangeType(
VARIANTARG * pvargDest,
VARIANTARG * pvarSrc,
unsigned short wFlags,
VARTYPE vt
);


用COM支持类,注意捕捉异常.
jerry 2005-04-10
  • 打赏
  • 举报
回复
std::string = "1900-01-02";
_variant_t var(str.c_str());

var.ChangeType(VT_DATA); // 转成日期

var.ChangeType(VT_BSTR); // 转成串

dfyang 2005-04-09
  • 打赏
  • 举报
回复
string->Date:
截取年月日等,然后
date.SetYear(year);
......
dfyang 2005-04-09
  • 打赏
  • 举报
回复
VARIANT::DATE->string :
COleDateTime time = (COleDateTime)date;
str = time.Format("%Y-%m-%d %H:%M:%S");

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧