我正在通过必发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 ,对于其他每个时区(欧洲/伦敦,珀斯,美国...),时间实际上都是格林尼治标准时间。不知道这是怎么回事。仍在调查中。
答案 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的工作方式。它们还提供了可能正确或不正确的时区。使用时区指示事件的本地时间。但是,时区非常“碰碰运气”,所以不要依靠它们来正确。实际上,随着时间的流逝,必发必发市场上的非定价信息会出现许多“数据错误”。这就是它的发展方向。所以不要指望他们解决错误