Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bing maps Bing Maps transit API:我是否错误地格式化了查询日期时间或分析了输出日期时间?_Bing Maps - Fatal编程技术网

Bing maps Bing Maps transit API:我是否错误地格式化了查询日期时间或分析了输出日期时间?

Bing maps Bing Maps transit API:我是否错误地格式化了查询日期时间或分析了输出日期时间?,bing-maps,Bing Maps,我无法让Bing地图API正常工作。我正在输入一个查询“如何使用公共交通从安南代尔到伊斯特伍德(悉尼)”,得到的结果与我查询的时间完全不同 API记录在此处: 在这里: 文档未能指定响应的日期格式,但我认为这是正确的: 我的问题是: 注意,出于明显的原因,我编辑了我们的API密钥 请注意,我要求在上午11:43乘坐公共汽车。我试过在有约会的时候这样做,但没有约会,没有区别 我得到了一个乍一看非常有效的回答,但它给了我这样的时间: “时间”:“/日期(1427222880000-0700)

我无法让Bing地图API正常工作。我正在输入一个查询“如何使用公共交通从安南代尔到伊斯特伍德(悉尼)”,得到的结果与我查询的时间完全不同

API记录在此处:

在这里:

文档未能指定响应的日期格式,但我认为这是正确的:

我的问题是:

注意,出于明显的原因,我编辑了我们的API密钥

请注意,我要求在上午11:43乘坐公共汽车。我试过在有约会的时候这样做,但没有约会,没有区别

我得到了一个乍一看非常有效的回答,但它给了我这样的时间: “时间”:“/日期(1427222880000-0700)/”

…如果我的查询时间是5:43,这是合理的,但事实并非如此。该日期格式清楚地表明“1970年以来的毫秒,UTC”(在绝望中,我尝试了加和减7小时,但没有得到任何有意义的结果)。文件中明确指出,我11:43的时间应在当地时区中指定,即与“11:43”一样

基于Bing文档错误或实现错误的假设,我尝试任意增加6小时或从我的查询时间中减去18小时(这需要将日期添加到URL中),但我没有得到任何有意义的结果。我无法获取API结果与公共Bing浏览器应用程序之间的任何对应关系

我也不知道该向微软询问谁


有什么想法吗?

如评论中所述,返回的日期信息是正确的。JSON响应中返回的DataTime值的格式为OData DateTime:

“/Date([ticks][“+” | “-” ][offset])/”
[滴答声]=自1970年1月1日午夜以来的毫秒数

[偏移量]=要加或减的分钟数


您可以在此处找到相关文档:

您提供的第二个链接显示:

JSON响应以日期时间字符串的形式返回出发时间和到达时间,例如1318005467000-0700。字符串中的第一个整数(1318005467000)表示自UTC 1970年1月1日午夜12:00:00以来的秒数。字符串的其余部分(-0700)表示必须应用以获取本地时间的小时偏移量。例如,整数1318005467000表示时间“10/7/2011 4:37:47 PM”。应用-0700偏移量时,本地时间计算为“2011年10月7日9:37:47 AM”。有关详细信息,请参见日期时间结构


现在是当地时间11点48分。(不要问我“本地”的定义。)

我有以下解决方案,可能可靠,也可能不可靠,而且它违反了规范,但目前仍有效:

  • 将0700添加到时间戳,即将其转换为“负7小时”。如果有一个“+”而不是“-”,那么符号就会颠倒过来,尽管我怀疑从来没有使用过加号(不知道他们会如何改变符号)

  • 减去悉尼的时区偏移量,即-11小时(即加11小时)

  • 这就给了我一些东西,我可以把它放进Java的“Date”实例中,即“newdate(x)”,它表示一个独立于任何时区的时间

    我希望我可以使用“UTC后的毫秒数”而忽略“0700”,因为我们的系统将这些时间存储在“UTC后的毫秒数”中,但我无法使其正常工作


    一切都与Bing错误解析悉尼GTFS文件的假设一致,将其解释为Redmond times而不是Sydney times。

    1427222880000是周二,2015年3月24日18:48:00 GMT。0700是华盛顿州Redmond的当前时区。这是华盛顿州Redmond的2015年3月24日11:48:00。这没有意义吗?您尝试添加了吗将时区添加到输入dateTime?我不在Redmond,也不在起点或终点位置。根据API文档,没有将时区添加到输入参数“dateTime”的规定,它始终被理解为相关lat/long的本地时间。您建议我尝试什么语法?我建议您尝试输出语法。毫秒+时间偏移量。或者尝试以下操作之一:输出语法为我提供:,“日期时间:此参数值的格式无效。”日期信息与我提供的输入日期时间(11:43悉尼时间-->第一总线为11:48雷蒙德时间)没有任何意义因此,我假设我使用了不正确的输入时间。你知道我应该为输入时间指定什么吗?API明确指出“11:43“将被解释为‘本地’时间,因此这似乎是一个错误或不正确的文档。正如Jayen提到的,返回的时间是当地时间上午11:48,这是有意义的。@rbrunditt这没有意义。当你用“当地时间”这个词时,我甚至不知道你指的是哪个时区——悉尼时间?雷蒙德时间?雷蒙德时间如何被视为“本地”?你看过我上面的评论了吗?现在,Bing告诉我“13小时内没有公交车”,“当地时间”是公交运营商运营的时间。i、 e.如果您在悉尼搜索路线,并在下午1点通过,则将是悉尼时间下午1点。JSON响应将返回一个ODataDateTime对象,该对象自1970年1月1日起具有刻度和时区偏移量。有关更多信息,请参见此:@rbrunditt好的,谢谢。所以Bing说的是13小时5分钟内没有公交车。你曾经使用过这个Bing API吗?它对您有用吗?日期信息与我提供的输入日期时间(11:43悉尼时间-->第一辆公交车是11:48雷蒙德时间?)没有任何意义,因此我假设我使用了不正确的输入时间。你知道我应该为输入时间指定什么吗?API明确指出“11:43”将被解释为“本地”时间,因此这似乎是一个错误或不正确的文档。您给出了11:43“本地”时间,它返回了11:48“本地”时间。而-0700应该是指雷德蒙,现在是她