7.1.2 日期时间常数

7.1.2 日期时间常数

一个日期时间常数是透过下列的字符串格式表示一个日期和时间:yyyy.mm.dd hh:mm。例如,2012年9月15日零点将是2012.09.15 00:00。也有其他可接受的日期时间常数格式:MQL参照标题Basics-Date Types-Datetime consants中有更多信息。我们将使用上述的格式,因为这是唯一一个容易转换的格式。要将转换日期时间变量到一个字符串常数,要使用函数TimeToStr(),其语法如下:

参数说明:

●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()插入目前的时间值。我们将在下一节探讨这个部分。