天软金融分析.NET函数大全 > 数据仓库函数 > 时间相关函数

sp_time    

简述
取得当前环境的时间,不是真正的现在的时间。与系统变量(股票pn_stock()、时间pn_date()、周期pn_cycle()相关)。
定义
sp_time([GetSetTime:Integer=0]):TDateTime;
参数
名称类型说明
GetSetTimeInteger=0整数,获取时间的类型,可缺省,默认为方式0,可取值如下:
取值 说明
0 默认值,返回当前环境的时间,也就是一个存在的时间序列中的时间。例如设置当前的时间为一个为非交易日setsysparam(pn_date(),20170423t),而20170423t不在交易时间序列上,所以sp_time(0)返回结果推移到的上一个交易日
1 返回当前环境的时间获得意图设置的时间,无论该时间是否交易日。同样设置20170423t为当期时间,sp_time(1)返回仍为20170423t
2 获得最近用setsysparam(pn_date(),day)或specdate等方式设置的日期时间,主要是针对nday、nday2等函数内嵌有当前时间有变化的函数。例如NDAY中,SP_TIME(1)和SP_time()的结果是一致的,利用SP_TIME(2)可以获得在NDAY外调用SP_TIME(1)的值
  • 范例

    范例一:设置的日期为交易日时sp_time()的结果
    //系统证券代码对应的交易时间
    setsysparam(pn_stock(),'SZ000002');
    setsysparam(pn_date(),inttodate(20140103));//2014-01-03是一个交易日
    a := sp_time();
    return a;
    // 返回41642 (2014-01-03);

    范例二:设置的日期为非交易日时sp_time(0)和sp_time(1)的结果对比
    //如果设置日期是一个非交易日(2014-01-05周日),sp_time被设定为离指定日最新的一个交易日
    setsysparam(pn_stock(),'SZ000002');
    setsysparam(pn_date(),inttodate(20140105));
    b := sp_time();
    c:=sp_time(1);
    return array(b,c);
    //返回:array(41642,41644),即(2014-01-03和2014-01-05);

    范例三:对比sp_time(2)与sp_time(0)、sp_time(1)返回日期的差异
    //如果要返回设定的日期,例如(2014-01-05),1月5日是周日,不受交易日的影响。
    setsysparam(pn_stock(),'SZ000002');
    setsysparam(pn_date(),inttodate(20140105));
    d := sp_time(1);//返回:41644 (2014-01-05);
    e:=Nday(1,”t”,sp_time(),”t1”,sp_time(1),”t2”,sp_time(2));
    //e中的t列和t1列一致,而t2列可以访问到2014-01-05的日期值41644

    范例四:sp_time 在NDay中的使用
    //sp_time 在NDay中的使用;
    setsysparam(pn_stock(),'SZ000002');
    setsysparam(pn_date(),inttodate(20140105));
    c := nday(10,'date',datetostr(sp_time()),'close',close());

    结果:
    参考
    SpecDate GetSysParam SetSysParam 
相关
FAQ/知识库链接