诚信为本
量力而为
当前位置:峰汇在线 ea编程知识 正文

MQL语言中的StringToTime函数简单说明

在MQL语言中,StringToTime 是将格式为”年.月.日 [小时:分钟]”(”yyyy.mm.dd [hh:mi]”)这种包含时间/日期的字符串转换格式为 datetime 的时间类型。简单点说,StringToTime 就是将日期相关的字符串转换为日期时间型。

先看一下 StringToTime 函数结构:

datetime  StringToTime
( 
   const string  time_string      // 日期字符串 
 );

在 MQL5 语言中 time_string 参数 [in] 可以是以下几种指定格式的字符串:

  • “yyyy.mm.dd [hh:mi]”
  • “yyyy.mm.dd [hh:mi:ss]”
  • “yyyymmdd [hh:mi:ss]”
  • •”yyyymmdd [hhmiss]”
  • •”yyyy/mm/dd [hh:mi:ss]”
  • “yyyy-mm-dd [hh:mi:ss]”

而在 MQL4 语言中 time_string 参数 [in] 指定为:” yyyy.mm.dd hh:mi “或 ” yyyy.mm.dd hh:mi:ss “,其中 yyyy.mm.dd 用 yyyy/mm/dd 也是可以的。但是用 yyyy-mm-dd 或 yyyymmdd这种,MQL4语言就不能识别。

StringToTime 函数返回值为 datetime 类型值,包含自01.01.1970以来过去的秒数。

为了便于说明,可以将下面代码加入到指标或智能交易EA中测试下输出的结果:

  datetime time_1 = StringToTime("2022/08/25 12:23:26"); 
  datetime time_2 = StringToTime("2021.12.11 23:12:26");  
  Comment(time_1,"-----",time_2);

这里只是做一个简单的演示,具体编程使用中,根据所需时间的 datetime 类型进行演变即可。

StringToTime字符串转换时间日期格式

在MQL5语言中,字符串转换时间日期类型,用的就是 StringToTime 函数。而在 MQL4 语言中,和 StringToTime 函数同时存在的还有 StrToTime ,两个函数结构和输出结果都是相同的,从官方说明中,能找出其不同的地方是:

  • StringToTime 的参数说明是 String in ” yyyy.mm.dd hh:mi ” format. 中文意思:格式为 “yyyy.mm.dd hh:mi “的字符串。
  • StrToTime 的参数说明是 String having “yyyy.mm.dd hh:mi ” format. 中文意思:具有 “yyyy.mm.dd hh:mi “格式的字符串。

其实也没必要过于去考究它两的区别,正常情况下用 StringToTime 就能解决需求。

版权所有转载请注明标题及链接:峰汇在线 » MQL语言中的StringToTime函数简单说明