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 TimeDayOfYear( 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);