EA编程教程:日期时间函数详解
用于表示时间类型数据的一组函数,通常以秒为单位从1970年1月1日午夜开始计算。
Day
DayOfWeek
DayOfYear
Hour
Minute
Month
Seconds
TimeCurrent
TimeDay
TimeDayOfWeek
TimeDayOfYear
TimeHour
TimeLocal
TimeMinute
TimeMonth
TimeSeconds
TimeYear
Year
int Day( )
返回当前月份的当天日期,依据最后访问服务器的时间确定。
注解: 在测试过程中,时间格式以最后设定的服务器模式为准。
示例:
if(Day()<5) return(0);
int DayOfWeek( )
返回一周中的星期数,其中0代表星期天,1至6依次代表周一至周六,依据最后已知的服务器时间计算。
注解: 在测试阶段,时间格式使用最后设置的服务器模式。
示例:
// 周末不进行交易
if(DayOfWeek()==0 || DayOfWeek()==6) return(0);
int DayOfYear( )
返回一年中的第几天,1表示1月1日,365或366表示12月31日,依据最后访问服务器的时间确定。
注解: 在测试时,时间格式以最后已知的服务器模式为准。
示例:
if(DayOfYear()==245)
return(true);
int Hour( )
返回程序启动前最后访问服务器时间的小时数(0到23),程序执行期间该值保持不变。
注解: 测试中的时间格式以最后设置的服务器模式为准。
示例:
bool is_siesta=false;
if(Hour()=12 || Hour()<17)
is_siesta=true;
int Minute( )
返回程序启动前最后访问服务器时间的分钟数(0到59),程序运行过程中该值不会变化。
示例:
if(Minute()<=15)
return("first quarter");
int Month( )
返回程序启动前最后访问服务器时间的月份(1到12),程序执行期间该值固定不变。
注解: 测试时的时间格式以最后设定的服务器模式为准。
示例:
if(Month()<=5)
return("the first half year");
int Seconds( )
返回程序启动前最后访问服务器时间的秒数(0到59),程序运行期间该值保持不变。
示例:
if(Seconds()<=15)
return(0);
datetime TimeCurrent( )
返回最后访问服务器的时间,以从1970年1月1日00:00开始的秒数表示,通常为最新行情输入时间。
注解: 测试中的时间格式以最后设定的服务器模式为准。
示例:
if(TimeCurrent()-OrderOpenTime()<360) return(0);
int TimeDay( datetime date)
返回指定日期中的日数(1到31)。
参数:
date - 从1970年1月1日00:00开始的秒数。
示例:
int day=TimeDay(D'2003.12.31');
// 返回天数为31
int TimeDayOfWeek( datetime date)
返回指定日期对应的星期数,0代表星期天,1至6依次为周一至周六。
参数:
date - 从1970年1月1日00:00开始的秒数。
示例:
int weekday=TimeDayOfWeek(D'2004.11.2');
// 返回数字2,即星期二
int TimeDayOfYeaIG markets官网r( datetime date)
返回指定日期在一年中的第几天,1表示1月1日,365或366表示12月31日。
参数:
date - 从1970年1月1日00:00开始的秒数。
示例:
int day=TimeDayOfYear(TimeCurrent());
int TimeHour( datetime time)
返回指定时间的小时数。
参数:
time - 从1970年1月1日00:00开始的秒数。
示例:
int h=TimeHour(TimeCurrent());
datetime TimeLocal( )
返回当前电脑时间,以从1970年1月1日00:00开始的秒数表示。
注解: 测试时的时间格式以最后设定的服务器模式为准。
示例:
if(TimeLocal()-OrderOpenTime()<360) return(0);
int TimeMinute( datetime time)
返回指定时间的分钟数。
参数:
time - 从1970年1月1日00:00开始的秒数。
示例:
int m=TimeMinute(TimeCurrent());
int TimeMonth( datetime time)
返回指定时间的月份数。
参数:
time - 从1970年1月1日00:00开始的秒数。
示例:
int m=TimeMonth(TimeCurrent());
int TimeSeconds( datetime time)
返回指定时间的秒数。
参数:
time - 从1970年1月1日00:00开始的秒数。
示例:
int m=TimeSeconds(TimeCurrent());
int TimeYear( datetime time)
返回指定时间的年份,范围在1970到2037之间。
参数:
time - 从1970年1月1日00:00开始的秒数。
示例:
int y=TimeYear(TimeCurrent());
int Year( )
返回当前年份,基于服务器时间确定。
注解: 在测试过程中,时间格式以最后设定的服务器模式为准。
示例:
// 如果时间在2006年1月到4月30日之间,则返回。
if(Year()==2006 && Month()<5)
return(0);
