7.1.2 日期时间常数
一个日期时间常数是透过下列的字符串格式表示一个日期和时间:yyyy.mm.dd hh:mm。例如,2012年9月15日0点将是2012.09.15 00:00。也有其他可接受的日期时间常数格式:MQL参照标题Basics-Date Types-Datetime constants中有更多信息。我们将使用上述的格式,因为这是唯一一个容易转换的格式。要待转换日期时间变量到一个字符串常数,要使用函数TimToStr( ),其语法如下:
参数说明:
Time——秒数表示的日期时间变量,起始于1970年1月1日。
Output——一个选择性参数,可选择输出常数为仅有日期、仅有小时和分钟、小时、分钟和秒、或任何日期和时间的结合。有效的输入值为:
TIME_DATE——输出日期,例如2012.09.15 。
TIME_MINUTES——输出小时和分钟,例如06:30。
TIME_SECONDS——输出小时、分钟和秒,例如06:30:40 。
若要用预设的yyyy.mm.dd hh:mm 格式输出字符串常数,Output参数需保持空白。若你只想要日期,或是小时和分钟(或秒),需使用适当的自变量。在下面这个例子中,我们将假设StartTime等于2012.09.15 06:30:40。
我们可以使用连续字符串建构一个日期时间常数,并使用函数StrToTime( )将其转换成日期时间变量。语法和上面的TimeToStr( )一样,但没有Output参数。为转换正确,字符串常数必须是yyyy.mm.dd hh:mm格式。
下列范例告诉我们如何使用整数组合成一个日期时间常数,可以先转换这些整数为字符串格式,然后转换这些字符串到日期时间变量。首先,我们将执行一些外部变量以设定一个时间和日期:
接着,我们使用StringConcatenate( )函数创造一个字符串常数,最后StrToTime( )把字符串转换成dateTime格式。
注意在StingConcatenate( )函数中,我们使用Year( )来回传目前的年份,而非使用外部变量。你可以使用函数如Month( ),Day( )以此类推以插入目前的时间值。我们将在下一节探讨这个部分。



