求助:关于时间加减计算的问题:datetime Btime MqlDateTime GetEtime ; 如何让Btime GetEtime加减分钟、小时或天数?

 

求助:关于时间加减计算的问题:datetime Btime   MqlDateTime GetEtime ; 如何让Btime GetEtime加减分钟、小时或天数?

如:Btime   加减1小时或1分钟、1天  应该怎么操作?

MqlDateTime GetEtime 加减1小时或1分钟、1天 应该怎么操作?

 
Haitao Qu:

求助:关于时间加减计算的问题:datetime Btime   MqlDateTime GetEtime ; 如何让Btime GetEtime加减分钟、小时或天数?

如:Btime   加减1小时或1分钟、1天  应该怎么操作?

MqlDateTime GetEtime 加减1小时或1分钟、1天 应该怎么操作?

解决了:用了很繁琐的方法:

datetime Btime,Etime;

SymbolInfoSessionTrade(NULL,3,0,Btime,Etime);

CDateTime  MyCdateTime1 ;

MyCdateTime1.DateTime(Etime);

MyCdateTime1.MinInc(5);

Etime = MyCdateTime1.DateTime();

TimeToStruct(Etime,GetEtime) ;

 

我前两天在划分亚欧美盘的时候也遇到了这个问题,最后做实验,很简单

例子:

datetime oneday=D'1970.01.02 00:00:00';

datetime  minus=D'2020.04.24 13:35:25'-oneday;

PrintFormat(minus);

minus的值是 D'2020.02.23 13:35:25'

也就是说你想减去一小时三十分五十五秒,就直接减 D'1970.01.01 01:30:55'

就OK了~

 
Haitao Qu #:

解决了:用了很繁琐的方法:

datetime Btime,Etime;

SymbolInfoSessionTrade(NULL,3,0,Btime,Etime);

CDateTime  MyCdateTime1 ;

MyCdateTime1.DateTime(Etime);

MyCdateTime1.MinInc(5);

Etime = MyCdateTime1.DateTime();

TimeToStruct(Etime,GetEtime) ;

这方法都能找到!MQL5自带的函数库也太多了吧

原因: