Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

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

1楼
zjfuwen 发表于: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楼
王锋 发表于: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();

3楼
zjfuwen 发表于:2012/9/28 16:54:54

多谢,试试看看

4楼
zjfuwen 发表于: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 时出错.

5楼
zjfuwen 发表于:2012/9/28 18:15:18

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

 

6楼
zjfuwen 发表于: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楼
王锋 发表于:2012/9/28 21:42:12

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

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

 

这样转化一下

共7 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.03125 s, 2 queries.