欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 请教 date类型怎样能转换成time_t类型呢?

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4591人关注过本帖树形打印复制链接

主题:请教 date类型怎样能转换成time_t类型呢?

帅哥哟,离线,有人找我吗?
zjfuwen
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:53 积分:258 威望:0 精华:0 注册:2010/12/4 10:46:10
请教 date类型怎样能转换成time_t类型呢?  发帖心情 Post By:2012/9/27 23:47:39 [只看该作者]

就是

//读取上海市场的600000日线数据范例
 PCALCINFO stData = {0};
 stData.m_dataType = MIN5_DATA;//日线
 stData.m_bIsPow = 1; //是否复权
 stData.m_wMarket = 'JZ';

之中的stData.m_pMainData[i].m_timeDate,m_timeDate原先定义应该是date格式,要转成time_t格式


 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2012/9/28 0:01:01 [只看该作者]

给你一个我们的自用转换函数

 

CTime COleDataTimeToCTime(COleDateTime& time)
{
 CTime time2(time.GetYear(),time.GetMonth(),time.GetDay(),time.GetHour(),time.GetMinute(),time.GetSecond());
 return time2;
}

 

使用范例:

 

time_t timeDate = COleDataTimeToCTime(stData.m_pMainData[i].m_timeDate).GetTime();



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
zjfuwen
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:53 积分:258 威望:0 精华:0 注册:2010/12/4 10:46:10
  发帖心情 Post By:2012/9/28 16:54:54 [只看该作者]

多谢,试试看看


 回到顶部
帅哥哟,离线,有人找我吗?
zjfuwen
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:53 积分:258 威望:0 精华:0 注册:2010/12/4 10:46:10
  发帖心情 Post By:2012/9/28 18:14:19 [只看该作者]

出错啊

Compiling...
MainWindowDlg.cpp
E:\AddinDemo\MainWindowDlg.cpp(256) : error C2664: 'COleDataTimeToCTime' : cannot convert parameter 1 from 'double' to 'class COleDateTime &'
        A reference that is not to 'const' cannot be bound to a non-lvalue
E:\AddinDemo\MainWindowDlg.cpp(256) : error C2228: left of '.GetTime' must have class/struct/union type
执行 cl.exe 时出错.


 回到顶部
帅哥哟,离线,有人找我吗?
zjfuwen
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:53 积分:258 威望:0 精华:0 注册:2010/12/4 10:46:10
  发帖心情 Post By:2012/9/28 18:15:18 [只看该作者]

是不是函数的位置没放对,应该放在哪里呢

 


 回到顶部
帅哥哟,离线,有人找我吗?
zjfuwen
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:53 积分:258 威望:0 精华:0 注册:2010/12/4 10:46:10
  发帖心情 Post By:2012/9/28 18:16:08 [只看该作者]


CTime COleDataTimeToCTime(COleDateTime& time)
{
 CTime time2(time.GetYear(),time.GetMonth(),time.GetDay(),time.GetHour(),time.GetMinute(),time.GetSecond());
 return time2;
}

 

void CMainWindowDlg::OnButton1Gedata()
{
 //读取上海市场的600000日线数据范例
 PCALCINFO stData = {0};
 stData.m_dataType = MIN5_DATA;//日线
 stData.m_bIsPow = 1; //是否复权
 stData.m_wMarket = 'JZ';
 strcpy(stData.m_szLabel,"IF00"); //读取600000 浦发银行数据
 
 
 if(g_pMainFormework->GetDataInfo(&stData))
 {
  MTHSTHEAD hsthead;
    CFile file;
    file.Open( _T("D:\\Weisoft Stock\\mthsthead.hst"), CFile::modeRead );
    file.SeekToBegin();
       file.Read( &hsthead, sizeof(MTHSTHEAD) );
 CFile tempFile(_T("D:\\MetaTrader NordFX\\history\\NordGroupInv-Real1\\IF00.hst"),CFile::modeCreate|CFile::modeWrite);
 tempFile.SeekToBegin();
    CArchive ar(&tempFile,CArchive::store);
    ar.Write(&hsthead,sizeof(hsthead));
    ar.Close();
    tempFile.Close();
     MTHST kline;
        CString strText;
  CString strText2;
  CString str3;
  time_t d_time;
  float d_open,d_high,d_low,d_close,d_vol;
  int size;
  size=stData.m_nNumData;
  for(int i = 0; i < 5; i++)
  {
         time_t d_time = COleDataTimeToCTime(stData.m_pMainData[i].m_timeDate).GetTime();
   d_open=stData.m_pMainData[i].m_fOpen;
   d_high=stData.m_pMainData[i].m_fHigh;
   d_low=stData.m_pMainData[i].m_fLow;
   d_close=stData.m_pMainData[i].m_fClose;
   d_vol=stData.m_pMainData[i].m_fVolume;
  
           CTime   tm   =   d_time;
           str3.Format("%d-%d-%d %d:%d:%d",tm.GetYear(),tm.GetMonth(),tm.GetDay(),tm.GetHour(),tm.GetMinute(),tm.GetSecond());
      strText.Format("数据:%s %.1f %.1f %.1f %.1f %.0f",str3,d_open,d_high,d_low,d_close,d_vol);
   AfxMessageBox(strText);
   //....


 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2012/9/28 21:42:12 [只看该作者]

COleDateTime timeTemp = stData.m_pMainData[i].m_timeDate;

time_t timeDate = COleDataTimeToCTime(timeTemp ).GetTime();

 

这样转化一下



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部