设为首页收藏本站

 找回密码
 注册
查看: 3802|回复: 5
打印 上一主题 下一主题

求判断两个时间间隔多少秒的高效算法 [复制链接]

Rank: 3Rank: 3

精华
0
UID
1563
积分
167
帖子
36
主题
14
阅读权限
40
注册时间
2008-4-30
最后登录
2008-6-3
跳转到指定楼层
1#
发表于 2008-5-30 21:24:43 |只看该作者 |倒序浏览
求判断两个时间间隔多少秒的高效算法

time2 ( 0.142533)
time2 (0.142256)
计算他们间隔的秒数?

谢谢

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
2#
发表于 2008-5-31 12:52:19 |只看该作者
求出小时,分钟,秒
然后小时*3600+分钟*60+秒,然后进行比较

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
1563
积分
167
帖子
36
主题
14
阅读权限
40
注册时间
2008-4-30
最后登录
2008-6-3
3#
发表于 2008-5-31 12:56:48 |只看该作者
原帖由 nopain 于 2008-5-31 12:52 发表
求出小时,分钟,秒
然后小时*3600+分钟*60+秒,然后进行比较


这样可以吗?
  1.                                        LastIndex = A_GetLastOpenOrderIndex(Enum_Buy,Enum_Entry);
  2.                         If(LastIndex != InvalidInteger)
  3.                         {               
  4.                                 Temp=Time;
  5.                                 Time_H=IntPart(Temp*10000);
  6.                                 Time_M=IntPart(Temp*100)-Time_H*100;
  7.                                 Time_S=IntPart(Temp*1000000)-Time_H*10000-Time_M*100;
  8.                                 Time0=Time_H*3600+Time_M*60+Time_S;
  9.                                 Temp=A_OpenOrderTime(LastIndex);
  10.                                 Time_H=IntPart(Temp*10000);
  11.                                 Time_M=IntPart(Temp*100)-Time_H*100;
  12.                                 Time_S=IntPart(Temp*1000000)-Time_H*10000-Time_M*100;
  13.                                 Time1=Time_M*60+Time_S;
  14.                                 IF( (Time0-Time1)>delay)
  15.                                 {
  16.                                         A_DeleteOrder(A_OpenOrderContractNo(LastIndex));
  17.                                         FileAppend("C:\\cd.log",DateToString(Date)+"  当前时间 "+TimeToString(time)+" 多委单时间"+TimeToString(A_OpenOrderTime(LastIndex)));       
  18.                                 }
  19.                         }
复制代码

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
4#
发表于 2008-5-31 13:01:28 |只看该作者
不用搞得这么复杂。看看下面的代码,也许对您有启发
  1.         TmpLastIndex = A_GetLastOpenOrderIndex(Enum_Sell,Enum_Exit);
  2.         If(TmpLastIndex != InvalidInteger)
  3.         {
  4.                 Commentary("准备撤单...");
  5.                 TmpContractNo = Data1.A_OpenOrderContractNo(TmpLastIndex);
  6.                 If(TmpContractNo!="")
  7.                 {
  8.                         A_DeleteOrder(TmpContractNo);
  9.                         EntryDeleteSeconds = CurrentTime;
  10.                 }Else
  11.                 {
  12.                         Commentary("出错了A!");
  13.                 }       
  14.         }Else // 全部成交了
  15.         {
  16.        。。。。。
  17.       
  18.         }
复制代码

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
1563
积分
167
帖子
36
主题
14
阅读权限
40
注册时间
2008-4-30
最后登录
2008-6-3
5#
发表于 2008-5-31 21:07:03 |只看该作者
谢谢。。。。。。。。。。。。

使用道具 举报

Rank: 4

精华
0
UID
11
积分
380
帖子
67
主题
15
阅读权限
50
注册时间
2007-7-21
最后登录
2019-4-1
6#
发表于 2008-6-3 17:04:25 |只看该作者
study.... 3x

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-12 15:05

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部