必发API输出时区有时会关闭

时间:2018-08-09 12:51:34

标签: ruby api betfair

我正在通过必发API下注,并注意到一些非常奇怪的东西。对于某些事件,时间和市场结果都没有时间。

我的帐户日期和时间设置为欧洲/伦敦。没关系,API会输出它想要的任何区域,显然是随机的(有时是GMT,有时是伦敦或其他时区,但ISO时间戳不包括+0100或任何GMT偏移量),尽管事实是帐户设置为欧盟/伦敦。

例如,让我们参加这个活动Superettan / Jonkopings Sodra v Varnamo

API输出为:

name:string;
constructor(private domService: ModalService) {
this.name = `Angular!`;   
}

addToBody() {
this.domService.appendComponentToBody(DialogComponent);
}

不过,他们的网站表示活动于格林尼治标准时间17:00 /伦敦18:00(现为GMT + 1)开始。

有数百个这样的例子。无法从必发支持中获得任何帮助,他们需要几天/几周的时间才能回复,而当他们这样做时,他们只是发送一些罐头邮件。

以前有人看过这个问题吗?还是我想念什么?

稍后编辑:我不得不转储所有市场数据以得出此结论:当他们的API表示时区为格林尼治标准时间时,该事件实际上是在伦敦,因此现在GMT + 1 ,对于其他每个时区(欧洲/伦敦,珀斯,美国...),时间实际上都是格林尼治标准时间。不知道这是怎么回事。仍在调查中。

2 个答案:

答案 0 :(得分:1)

Event.openDate记录为“ 事件的预定开始日期和时间。默认为欧洲/伦敦(GMT) ”,而{{ 1}}定义为“ 发生事件的时区。

从某种意义上说,API输出中的Event.timezone是正确的,因为它表示18:00。但是,这是不正确的,因为它包含表示GMT / UTC的Zulu'Z'后缀。 openDate字段中包含“ GMT”:a)错误; b)只是用来混淆事情,恕我直言。

相反,我开始使用timezone,其定义为“ 这个市场开始的时间... ”,它与{{1}不太一样},但如果两者有所不同,通常在必发市场,您会比实际比赛/比赛/比赛开始时更感兴趣市场何时进入比赛。

我用来验证这种方法的事件似乎可以更好地工作。谨记英国将从10月27日BST移至10月28日GMT,从API中我收到的名称为MarketCatalogue.marketStartTime

  

利物浦v卡迪夫:“ 2018-10- 27 T 14:00 :00.000Z” [更正:格林尼治标准时间14:00 BST 15:00 ]

     

F1墨西哥大奖赛[排位赛]:“ 2018-10- 27 T 18:00 :00.000Z” [正确的时间是18:00 BST格林尼治标准时间19:00]

     

伯恩利诉切尔西:“ 2018-10- 28 T 13:30 :00.000Z” [正确:格林尼治标准时间13:30是格林尼治标准时间13:30 ]

答案 1 :(得分:0)

Betfair返回的所有时间均为UTC-这就是API的工作方式。它们还提供了可能正确或不正确的时区。使用时区指示事件的本地时间。但是,时区非常“碰碰运气”,所以不要依靠它们来正确。实际上,随着时间的流逝,必发必发市场上的非定价信息会出现许多“数据错误”。这就是它的发展方向。所以不要指望他们解决错误