首页
要闻详情
图标图标

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

史迪奇史迪奇
关注
2024-08-13 20:53:52
在MQL语言中,StringToTime 是将格式为”年.月.日 [小时:分钟]”(”yyyy.mm.dd [hh:mi]”)这种包含时间/日期的字符串转换格式为 datetime 的时间类型...

在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 就能解决需求。

风险提示及免责声明

文章来源于峰汇在线,转载注明原文出处,此文观点与指股网无关,理性阅读,版权属于原作者若无意侵犯媒体或个人知识产权,请联系我们,本站将在第一时间删掉 ,指股网仅提供信息存储空间服务。