时间类型转换:将COleDateTime转换为INT64类型

来源:互联网 发布:画橙光立绘用什么软件 编辑:程序博客网 时间:2024/05/22 18:18

引言

最近工作上遇到了这样的问题,一个接口的一个调用参数是需要传入一个 INT64 类型的数据,然而现在另外一个同事给我的数据类型形如 2017-3-24 这样的数据类型,我该如何转换成 INT64 类型的时间数据呢?

解决方案

展开了大量的搜索大法,发现这样的问题很少有人遇到。通过折返走了好大一圈,终于找到了解决的办法,这个办法或许不是最好的办法,也将将可以使用了。

// 将形如 "2017-03-24" 的字符串转换为 COleDateTime类型变量COleDateTime tempTime;tempTime.ParseDateTime(CString(bsDate));// 将 COleDateTime 类型变量转换为 win32 的 SYSTEMTIME 对象SYSTEMTIME tempTempTime;tempTime.GetAsSystemTime(tempTempTime);// 将 SYSTEMTIME 类型变量转换为 tm 形式的数据类型struct tm gm = {    tempTempTime.wSecond,    tempTempTime.wMinute,    tempTempTime.wHour,    tempTempTime.wDay,    tempTempTime.wMonth - 1,    tempTempTime.wYear - 1900,    tempTempTime.wDayOfWeek,    0,    0};// 将 tm 形式的数据类型转化为 time_t 类型time_t curTime = mktime(&gm);

查看上述代码,可以发现,转换步骤是这样的
其中, time_t 类型就是 INT64 的数据类型了。

0 0
原创粉丝点击