函数StrToTime导致错误4051 - 页 2 1234 新评论 Simon Gniadkowski 2014.02.12 21:04 #11 qjol: 但是你必须使用 "yyyy.mm.dd hh:mm "的格式,否则你会得到错误4051。 好吧,你是对的,要么MetaEditor的帮助是错误的,要么有一个bug,无论哪种方式,都需要报告给服务台 ,我会 报告的 . . . 还有英文帮助中的俄文。 MQL4 参考 / 转换函数 / StrToTime 读取时间 将格式为 "yyyy.mm.dd hh:mi "的字符串转换为数据时间类型(自1970年1月1日以来所经过的秒数)。 datetime StrToTime( string value // string ); 参数 值 [in] Строка в формате "yyyy.mm.dd hh:mi"。 返回的值 日期 类型的值为秒数,从1970年1月1日开始传递。 例子。 数据 时间 var1,var2,var3。 var1=StrToTime("2003.8.12 17:35"); var2=StrToTime("17:35"); // 返回给定时间的当前日期 var3=StrToTime("2003.8.12"); // 返回午夜时间为 "00:00 "的日期。 Simon Gniadkowski 2014.02.12 21:23 #12 RaptorUK: 好吧,你是对的,要么MetaEditor的帮助是错误的,要么有一个bug,无论如何都需要报告给服务台 ,我会 报告的 ... ...还有英文帮助中的俄语。 这将作为一种变通方法,产生同样的结果。 datetime xxxxx = StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+"21:45"); ...而且没有错误。 qjol 2014.02.12 21:41 #13 RaptorUK: ......而且没有错误。 当然,它是正确的格式 graziani 2014.02.12 23:08 #14 你在说什么? Print((string)StringToTime("21:45")); datetime test = StringToTime("21:45"); Print((string)test); Print(TimeToString(test, TIME_MINUTES)); 给 00:01:00 Test GOLD,M15: 2014.02.12 21:45:00 00:01:00 Test GOLD,M15: 2014.02.12 21:45:00 00:01:00 Test GOLD,M15: 21:45 那么,什么是错的? Simon Gniadkowski 2014.02.12 23:16 #15 graziani: 你在说什么? 给 那么,什么是错的? StrToTime() 不是 StringToTime() qjol 2014.02.12 23:50 #16 graziani:你在说什么?给那么,什么是错的? 添加GetLastError(),你就会发现。 qjol 2014.02.12 23:52 #17 RaptorUK: StrToTime() 不是 StringToTime() 无所谓,两者都会出现4051的错误。 graziani 2014.02.13 00:05 #18 GetLastError()只有在错误发生时才会给出错误描述,而且只有在函数 使用错误处理程序的情况下。这里没有这种情况,所以使用它是没有意义的。Str vs. String,你应该使用新的函数,因为它们与MQL5中的函数相同,以获得源兼容性。另外,如果结果与文件规定的一样,你为什么坚持使用错误? Simon Gniadkowski 2014.02.13 00:13 #19 graziani: GetLastError()只有在错误发生时才会给出错误描述,而且只有在函数使用错误处理程序的情况下。 这里没有这种情况,所以使用它是没有意义的。 Str vs. String,你应该使用新的函数,因为它们与MQL5中的函数相同,以获得源兼容性。 另外,如果结果与文件规定的一样,你为什么坚持使用错误? 在调用StrToTime() 之前重置最后的错误(),然后在之后调用GetLastError() . . StrToTime()不应该导致错误,但它确实导致了错误 . . . 这是一个错误。 类似的东西已经被确认并修复 :https://www.mql5.com/en/forum/149475/page2 Simon Gniadkowski 2014.02.13 00:14 #20 graziani: Str vs. String,你应该使用新的函数,因为它们与MQL5中的函数相同,以获得源兼容性。 为什么我想与MQL5兼容? 我在为MT4使用mql4代码。 1234 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
但是你必须使用 "yyyy.mm.dd hh:mm "的格式,否则你会得到错误4051。
读取时间
将格式为 "yyyy.mm.dd hh:mi "的字符串转换为数据时间类型(自1970年1月1日以来所经过的秒数)。
datetime StrToTime(
string value // string
);
参数
值
[in] Строка в формате "yyyy.mm.dd hh:mi"。
返回的值
日期 类型的值为秒数,从1970年1月1日开始传递。
例子。
数据 时间 var1,var2,var3。
var1=StrToTime("2003.8.12 17:35");
var2=StrToTime("17:35"); // 返回给定时间的当前日期
var3=StrToTime("2003.8.12"); // 返回午夜时间为 "00:00 "的日期。
好吧,你是对的,要么MetaEditor的帮助是错误的,要么有一个bug,无论如何都需要报告给服务台 ,我会 报告的 ... ...还有英文帮助中的俄语。
这将作为一种变通方法,产生同样的结果。
...而且没有错误。
......而且没有错误。
当然,它是正确的格式
你在说什么?
给
那么,什么是错的?
你在说什么?
给
那么,什么是错的?
你在说什么?
给
那么,什么是错的?
添加GetLastError(),你就会发现。
StrToTime() 不是 StringToTime()
无所谓,两者都会出现4051的错误。
GetLastError()只有在错误发生时才会给出错误描述,而且只有在函数 使用错误处理程序的情况下。
这里没有这种情况,所以使用它是没有意义的。
Str vs. String,你应该使用新的函数,因为它们与MQL5中的函数相同,以获得源兼容性。
另外,如果结果与文件规定的一样,你为什么坚持使用错误?
GetLastError()只有在错误发生时才会给出错误描述,而且只有在函数使用错误处理程序的情况下。
这里没有这种情况,所以使用它是没有意义的。
Str vs. String,你应该使用新的函数,因为它们与MQL5中的函数相同,以获得源兼容性。
另外,如果结果与文件规定的一样,你为什么坚持使用错误?
Str vs. String,你应该使用新的函数,因为它们与MQL5中的函数相同,以获得源兼容性。